Ios 获取-[SearchViewController tableView:numberOfRowsInSection:]:发送到实例的无法识别的选择器
以下是视图控制器的代码,我正在其中添加搜索栏并执行以下操作: SearchViewController.hIos 获取-[SearchViewController tableView:numberOfRowsInSection:]:发送到实例的无法识别的选择器,ios,uisearchbar,Ios,Uisearchbar,以下是视图控制器的代码,我正在其中添加搜索栏并执行以下操作: SearchViewController.h #import <UIKit/UIKit.h> @interface SearchViewController : UIViewController <UITextFieldDelegate> @property (strong, nonatomic) IBOutlet UISearchBar *search; @end 在搜索栏中单击以输入文本时,我发现一
#import <UIKit/UIKit.h>
@interface SearchViewController : UIViewController <UITextFieldDelegate>
@property (strong, nonatomic) IBOutlet UISearchBar *search;
@end
在搜索栏中单击以输入文本时,我发现一个错误:
-[SearchViewController表视图:numberOfRowsInSection::发送到实例0x8e68990的无法识别的选择器
从错误中可以看出,您的应用程序似乎也在尝试查找表视图委托方法。几张支票
可能不相关,但您所说的
[search.delegate self]是什么意思代码>?我很惊讶你竟然没有得到警告。你的意思是search.delegate=self
?为什么这是答案?为什么搜索栏要查找表视图方法?VC并没有说它是一个表视图控制器,这不是搜索栏委托的必需方法。
#import "SearchViewController.h"
#import "MMDrawerController/UIViewController+MMDrawerController.h"
@interface SearchViewController ()
@end
@implementation SearchViewController
@synthesize search;
- (BOOL)prefersStatusBarHidden
{
return YES;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
{
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[search.delegate self];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard)];
[self.view addGestureRecognizer:tap];
[search setShowsCancelButton:YES animated:NO];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - UITextFieldMethod
-(void) textFieldDidEndEditing:(UITextField *)textField
{
[search resignFirstResponder];
}
-(BOOL) textFieldShouldReturn:(UITextField *)textField
{
[search resignFirstResponder];
return YES;
}
#pragma mark - HandlingKeyboard
-(void) dismissKeyboard
{
[search resignFirstResponder];
}
#pragma mark - UISearchBarMethods
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[search resignFirstResponder];
[search endEditing:YES];
[self.mm_drawerController toggleDrawerSide:MMDrawerSideRight animated:YES completion:nil];
}
- (void) searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
[search resignFirstResponder];
[self.mm_drawerController toggleDrawerSide:MMDrawerSideRight animated:YES completion:nil];
}
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
[search resignFirstResponder];
}
@end