为什么xcode给我这个警告?

问题描述

| 这是我以编程方式制作UISearchBar的代码
- (void)loadView {
    [super loadView];
    searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0,320,30)];
    searchBar.delegate = self;
    [self.view addSubview:searchBar]; 
}   
    

解决方法

也许您的课程不符合
UISearchBarDelegate
?将您的班级声明从
@interface MyClass : NSObject
...
@end
@interface MyClass : NSObject<UISearchBarDelegate>
...
@end
无论如何,警告是什么?     ,您没有发布警告。但是,我仍然可以假设它是以下两种可能性之一:
searchBar = [[UISearchBar...
行上的警告说明类型。这可能表明
searchBar
未正确定义为
UISearchBar*
searchBar.delegate = self
行上的警告,说
id<UISearchBarDelegate>
。这里的问题是您当前的类从未声明自己符合ѭ1协议。在这种情况下,您需要像这样修改
@interface
声明:
@interface MyClass : MySuperclass <UISearchBarDelegate>
    ,1- @interface YourClassName:ParentClass @property UISearchBar * srchBar; @结束 2- @synthesize srchBar; //在.m文件中 3- [self.srchBar setDelegate:self]; //在viewDidLoad中 4- [srchBar resignFirstResponder]; //辞职!