所以我有一個在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