私はテーブルビューとその中に検索バーを持っています。私はコードを正しく書いているようですが、検索バーに何かを入力すると、結果はありません。UITableView検索バーの問題
@interface PlaylistViewController : UITableViewController
<UITableViewDelegate,UITableViewDataSource, UISearchBarDelegate>
@property (strong, nonatomic) Playlist* playlistTab;
@property (strong, nonatomic) IBOutlet UITableView *tableView;
@property (weak, nonatomic) IBOutlet UISearchBar *searchBar;
@property (strong, nonatomic) NSMutableArray *displayItems;
@end
@implementation PlaylistViewController
@synthesize searchBar = _searchBar;
@synthesize tableView = _tableView;
@synthesize playlistTab = _playlistTab;
@synthesize displayItems = _displayItems;
- (void)viewDidLoad
{
[super viewDidLoad];
AppDelegate *appDel = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[self setPlaylistTab:appDel.playlist];
_displayItems = _playlistTab.collection;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [_displayItems count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"songCell"];
Song* song = [_displayItems objectAtIndex:indexPath.row];
cell.textLabel.text = song.title;
cell.detailTextLabel.text = song.artist;
return cell;
}
-(void) searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
if ([searchText length]==0) {
[_displayItems removeAllObjects];
[_displayItems addObjectsFromArray:_playlistTab.collection];
} else {
[_displayItems removeAllObjects];
for (Song *song in _playlistTab.collection) {
NSRange rangeTitle = [song.title rangeOfString:searchText options:NSCaseInsensitiveSearch];
// NSRange rangeArtist = [song.artist rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (rangeTitle.location != NSNotFound) {
[_displayItems addObject:song];
}
}
}
[self.tableView reloadData];
}
これを正しく実行するにはどうすればよいですか?
うまくいきませんでした。ここで私の推測 - 私は接続で何かを台無しにしているということです。 – nemesis
あなたはNSLogを使用して印刷されたコメントを見ましたか? – rakeshNS
いいえ、私はそれらを見ませんでした。 – nemesis