そのため、ヘッダーに IBAction を定義し、メインに実装しました。IB で表示できますが、UISearchBar をドラッグしても接続されません。
ここに私のヘッダーコードがあります:
#import <UIKit/UIKit.h>
@class DetailViewController;
@interface CustomerListViewController : UITableViewController
{
}
-(IBAction)filterTableData:(UISearchBar *)filterBar;
@property (strong, nonatomic) DetailViewController *detailViewController;
@property (retain) IBOutlet UISearchBar *searchBar;
@property (strong, nonatomic)NSArray *custs, *workingSet;
@end
これが私の実装方法です:
-(IBAction)filterTableData:(UISearchBar *)filterBar {
//filter our search results
NSString *filter;
if (filterBar.text)
filter = [filterBar.text stringByAppendingString:@"*"];
else
filter = @"*";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF LIKE[cd] %@", filter];
self.workingSet = [self.custs filteredArrayUsingPredicate: predicate];
[self.tableView reloadData];
}
そして、これはIBが実際にメソッドを見てドラッグできるようにした画像で、検索バーにドラッグしようとして失敗しました: