Хорошо все,
So I've got a UITableView that is inited in applicationDidFinishLaunching
like so:
[self showForumList];
Said method does this:
-(void)showForumList { ForumList *fl = [ForumList alloc]; [fl initWithNibName:@"ForumList" bundle:[NSBundle mainBundle]]; self.ForumList = fl; [window addSubview:[self.ForumList view]]; [fl release]; }where self.ForumList is previously defined in the interface as
ForumList *ForumList;
, etc.
Теперь, в ForumList
(который, очевидно, является расширением UITableViewController
), у меня есть didSelectRowAtIndexPath:
- в нем у меня есть следующий код:
Forum *f = [Forum alloc]; NSArray *forums = [f getForumList]; NSDictionary *selectedForum = [forums objectAtIndex:[indexPath row]]; NSString *Url = [selectedForum objectForKey:@"url"]; NSString *Username = [selectedForum objectForKey:@"username"]; NSString *Password = [selectedForum objectForKey:@"password"]; NSLog(@"Identified press on forum %@ (%@/%@)", Url, Username, Password); [self.globalDelegate showForumListFromForumUsingUrl:Url username:Username password:Password]; [self.globalDelegate closeForumList]; NSLog(@"ForumListFromForum init");
Оба вызова NSLog в этой функции выполняются и работают должным образом. Теперь вот где начинается проблема.
self.globalDelegate
определяется как AppDelegate *globalDelegate;
в спецификации интерфейса в моем файле заголовка. Однако [self.globalDelegate showForumListFromForumUsingUrl:username:password]
и [self.globalDelegate closeForumList]
никогда не вызываются. Выглядят они так:
-(void)closeForumList { NSLog(@"Hiding forum list"); [[self.ForumList view] removeFromSuperview]; } -(void)showForumListFromForumUsingUrl:(NSString *)Url username:(NSString *)Username password:(NSString *)Password { NSLog(@"Showing forum list from forum"); ForumListFromForum *fl = [ForumListFromForum alloc]; [fl initWithNibName:@"ForumListFromForum" bundle:[NSBundle mainBundle]]; [fl initFromForumWithUrl:Url username:Username password:Password]; self.ForumListFromForum = fl; [window addSubview:[self.ForumListFromForum view]]; [fl release]; }
Приложение реагирует на мои нажатия, но ни один из этих вызовов NSLog не выполняется, предположительно из-за того, что вызовы метода в appDelegate не работают.
Есть идеи, где я ошибся?