2013-04-13 69 views
0

調用方法由於aplication的neeeds添加uibuttonitem我需要從一個小區類,集合視圖的調用方法。該方法位於詳細視圖控制器中,用於實現收集視圖。如何通過從其他類

如果我在應用程序啓動時從詳細視圖控制器的viewDidLoad中完全調用該方法,則一切進展順利,並且該按鈕按照預期方式添加到導航欄中,但是當我從單元類調用相同方法時,什麼都不會發生。我忘記了什麼嗎?

下面是代碼

collectionViewCell.m

- (void) addButtonToNavigationBar { 

DetailViewController *dvc = [[DetailViewController alloc]init] 
[dvc implementButton]; 

} 

DetailViewController.h

- (void) implementButton; 

DetailViewController.m

- (void) implementButton { 
addButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" 
              style:UIBarButtonItemStyleBordered 
              target:self 
              action:@selector(editTable)]; 
[self.navigationItem.rightBarButtonItem setStyle:UIBarButtonItemStyleBordered]; 
[self.navigationItem setRightBarButtonItem:addButton animated:YES]; 

謝謝你的任何暗示。

回答

1

當你寫DetailViewController *dvc = [[DetailViewController alloc]init];要創建一個新的控制器。這不是已經存在的那個。

對於您的情況,您可能會考慮讓控制器監聽單元中的NSNotification,並在收到單元時調用implementButton

+0

感謝您的指示。你將如何調用現有的控制器並隨後調用該方法? – user2046702

+0

除了對如何調用現有控制器感興趣之外,使用nsnotification的效果很好。謝謝 – user2046702

+0

要使用現有的控制器,創建時必須將其引用到單元中,與通知相比,這看起來有點混亂。 –