2013-04-13 41 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

要使用现有的控制器,创建时必须将其引用到单元中,与通知相比,这看起来有点混乱。 –