UITableViewで検索を行うことができません。私はのUITableViewController hのファイルになどデリゲートを宣言している:UITearchViewで検索を行うことができません。
@protocol searchTanksListDelegate
- (void) searchTanksList:(UISearchBar *) sender textDidChange:(NSString *) searchText;
@end
@property (weak, nonatomic) id <searchTanksListDelegate> searchDelegate;
@property (weak, nonatomic) IBOutlet UISearchBar *searchTanksList;
私はのUITableViewControllerのviewDidLoad関数の中で自己をsearchTanksList.delegateを設定します。
と私は、このようにメソッドを実装している:
- (void)searchTanksList:(UISearchBar *)searchTanksList textDidChange:(NSString *)searchText
{
if (searchText.length == 0)
{
self.isFiltered = false;
}
else {
self.isFiltered = true;
self.searchResults = [[NSMutableArray alloc] init];
for (tank* thisTank in self.tanks)
{
NSRange nameRange = [thisTank.tankProduct rangeOfString:searchText options:NSCaseInsensitiveSearch];
NSRange numberRange = [thisTank.tankNumber rangeOfString:searchText options:NSCaseInsensitiveSearch];
NSRange productNumberRange = [thisTank.tankProductNumber rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (nameRange.location != NSNotFound || numberRange.location != NSNotFound || productNumberRange.location != NSNotFound)
{
[self.searchResults addObject:thisTank];
}
}
}
}
性質等を合成してきた - そのコードはエラーや警告なしでコンパイル私が入力したときに... textDidChangeメソッドはかかわらず、呼び出されません!
宣言時にNSObjectにプロトコルが準拠していない理由はありません。 – CodaFi
私は客観的なc/iosの開発に慣れていません。それは私をここに助ける...:o) – HillInHarwich
それはこれであるべきです: '@protocol searchTanksListDelegate' –
CodaFi