由于应用程序的需要,我需要从集合视图的单元类调用一个方法。该方法位于详细视图控制器中,用于实现集合视图。
如果我在应用程序启动时从详细视图控制器的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];
感谢您的任何提示。
答案 0 :(得分:1)
当你写DetailViewController *dvc = [[DetailViewController alloc]init];
时,你正在创建一个新的控制器。它不是已存在的那个。
根据您的情况,您可以考虑让控制器从单元格中侦听NSNotification
并在收到时调用implementButton
。