0

我有一个实现 splitView 控制器的视图。

我必须向导航控制器添加两个按钮。我在 UIBuilder 中添加了第一个,但它不允许我添加第二个,所以我在代码中做了......

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.view addSubview: _splitViewController.view];
    _splitViewController.delegate = _rightViewController;
    _leftViewController.delegate = _rightViewController;
    _rightViewController.leftView = _leftViewController;
   bbi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone   target:self action:@selector(done)];
    _navItem.leftBarButtonItem = bbi;
}

其中 bbi 在标题中声明为

@property (nonatomic, retain)     UIBarButtonItem * bbi;

与上面的匹配定义和综合。

我已将 done 方法声明为 - (void)done:(UIBarButtonItem *)sender;

但是当我点击完成按钮时,我得到了错误

-[ConfigurationViewController done]: unrecognized selector sent to instance

我已经尝试了很多事情,在本地而不是在 h 文件中声明 bbi,在 h 文件中没有声明 done ,让 done 方法期望一个 id ,但没有运气。

我显然在做一些愚蠢的事情。知道什么吗?

4

1 回答 1

2

如果是这样的方法,我认为 done 后面应该有一个冒号:

bbi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone   target:self action:@selector(done:)];
于 2013-03-01T03:00:24.980 回答