所以我有一个在applicationDidFinishLaunching
inited像这样一个UITableView: [self showForumList];
所述方法做到这一点:
-(void)showForumList { ForumList *fl = [ForumList alloc]; [fl initWithNibName:@"ForumList" bundle:[NSBundle mainBundle]]; self.ForumList = fl; [window addSubview:[self.ForumList view]]; [fl release]; }哪里自我。 ForumList在接口
ForumList *ForumList;
先前定义等,现在
,在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调用该方法不起作用。
任何想法,我哪里出错了?
self.globalDelegate在头文件中被定义为这样(为了清楚起见,整体被包含)(编辑,因为我不能在这里使用pre,请参阅http://pastebin.com/h6DKyHZJ) 这就是说,自我.globalDelegate在调试器中显示值0x0 - 我想我没有正确初始化它,你会如何建议我做? – roswell 2010-04-05 03:19:31
我刚刚意识到,我的类AppDelegate类实际上被命名为mobilebbAppDelegate ...也许我应该创建一个mobilebbAppDelegate * globalDelegate实例呢?然而,试图这样做会导致编译器抛出一些错误...... – roswell 2010-04-05 03:27:06