为什么xcode会给我这个警告?

时间:2011-05-23 23:23:15

标签: iphone objective-c ios uitableview ios4

这是我以编程方式制作UISearchBar的代码

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

3 个答案:

答案 0 :(得分:1)

您没有发布警告。但是,我仍然可以假设它是以下两种可能性之一:

  1. searchBar = [[UISearchBar...行上有关类型的警告。这可能表示searchBar未正确定义为UISearchBar*
  2. searchBar.delegate = self行上的警告,说明id<UISearchBarDelegate>。这里的问题是你当前的类从未声明自己符合UISearchBarDelegate协议。在这种情况下,您需要修改@interface声明,如下所示:@interface MyClass : MySuperclass <UISearchBarDelegate>

答案 1 :(得分:0)

你的班级可能不符合UISearchBarDelegate吗?从

更改类声明
@interface MyClass : NSObject
...
@end

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

无论如何,警告是什么?

答案 2 :(得分:0)

1- @interface YourClassName:ParentClass&lt; UISearchBarDelegate,UISearchDisplayDelegate,UIPopoverControllerDelegate,UIAlertViewDelegate&gt;

@property UISearchBar * srchBar;

@end

2- @synthesize srchBar; //在.m文件中

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

4- [srchBar resignFirstResponder]; //辞职这个方式!