почему xcode дает мне это предупреждение? - PullRequest
0 голосов
/ 24 мая 2011

вот код, который я делаю UISearchBar программно

- (void)loadView {
    [super loadView];
    searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0,0,320,30)];
    searchBar.delegate = self;
    [self.view addSubview:searchBar]; 
}   

Ответы [ 3 ]

1 голос
/ 24 мая 2011

Вы не разместили предупреждение. Тем не менее, я все еще могу предположить, что это одна из следующих двух возможностей:

  1. Предупреждение в строке searchBar = [[UISearchBar..., говорящее о типах. Это может означать, что searchBar не определен правильно как UISearchBar*.
  2. Предупреждение в строке searchBar.delegate = self, говорящее о id<UISearchBarDelegate>. Проблема в том, что ваш текущий класс никогда не объявлял себя соответствующим протоколу UISearchBarDelegate. В этом случае вам необходимо изменить объявление @interface следующим образом: @interface MyClass : MySuperclass <UISearchBarDelegate>
0 голосов
/ 28 июня 2014

1- @interface YourClassName: ParentClass

@ property UISearchBar * srchBar;

@ конец

2- @synthesize srchBar; // в .m файле

3- [self.srchBar setDelegate: self]; // в viewDidLoad

4- [srchBar resignFirstResponder]; // подать в отставку этим путем!

0 голосов
/ 24 мая 2011

Может быть, ваш класс не соответствует UISearchBarDelegate? Измените объявление класса с

@interface MyClass : NSObject
...
@end

до

@interface MyClass : NSObject<UISearchBarDelegate>
...
@end

В любом случае, что за предупреждение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...