ошибка компиляции для контроллера навигации

#iphone #objective-c #ipad #ios-simulator

#iPhone #objective-c #iPad #ios-симулятор

Вопрос:

Я новичок в objective C. Я больше ничего об этом не знаю. Я практикуюсь на навигационном контроллере. Проблема в том, что какие бы методы я ни применял в action: @selector in показывает SIGABRT ошибку. не могли бы вы пояснить мне, какие типы методов я могу привести в действие: @selector раздел. Хотя я знаю, что это глупый вопрос, но я думаю, что это прояснит мою концепцию navigationViewController .

Спасибо.

 - (void)viewDidLoad
{
    UISearchBar *search=[[UISearchBar alloc] init];

    self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(searchBarShouldBeginEditing:)];
    [super viewDidLoad];
}


- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar{

    UISearchBar *search=[[UISearchBar alloc] init];
    [search resignFirstResponder];
    return YES;

}
  

Ответ №1:

Попробуйте переместить ‘[super viewDidLoad]’ в начало метода viewDidLoad, а не в конец. Вам нужно убедиться, что элементы управления существуют, прежде чем добавлять элемент кнопки правой панели.