0

由于应用程序的需要,我需要从集合视图的单元类中调用一个方法。该方法位于实现集合视图的详细视图控制器中。

如果我在应用程序启动时完全从详细视图控制器的 viewDidLoad 调用该方法,一切顺利,并且按钮按预期添加到导航栏中,但是当我从单元类调用相同的方法时,什么也没有发生。我忘记了什么吗?

这是代码

collectionViewCell.m

- (void) addButtonToNavigationBar {

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

}

DetailViewController.h

- (void) implementButton;

细节视图控制器.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];

谢谢你的任何提示。

4

1 回答 1

1

当您编写时,DetailViewController *dvc = [[DetailViewController alloc]init];您正在创建一个新控制器。它不是已经存在的那个。

对于您的情况,您可能会考虑让控制器监听NSNotification来自单元的 a 并implementButton在收到它时调用。

于 2013-04-13T13:19:48.837 回答