我有一个实现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;
上面的匹配定义和综合。
我已将完成方法声明为 - (void)done:(UIBarButtonItem *)sender;
但是当我点击完成按钮时出现错误
-[ConfigurationViewController done]: unrecognized selector sent to instance
我尝试了很多东西,bbi在本地而不是在h文件中声明, 如果没有在h文件中声明完成,那么使用done方法需要一个id,但没有运气。
我显然做了一些愚蠢的事。知道什么吗?
答案 0 :(得分:2)
我认为如果它是这样的方法,那么应该在它之后有一个冒号:
bbi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(done:)];