在我的应用程序中,我有一个文本字段,如果我输入一个单词,我应该将所有以特定单词开头的文件名转换为UITable。在这里我将这些文件名称放入一个数组中,并且它也可以在NSLog中使用......但是表总是保持空白。控件未进入表格(表格中的NSLog方法未显示)。谁能帮我? 我的代码是
-(IBAction)Do_Search:(id)sender
{
files = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:
[[NSBundle mainBundle] bundlePath] error:nil];
search_results_array = [files filteredArrayUsingPredicate:
[NSPredicate predicateWithFormat:@"self BEGINSWITH[cd] 'h'"]];
NSLog(@"%@", search_results_array);
int search_res_count=[search_results_array count];
NSLog(@"Array has %d results...",search_res_count);
[Result_table reloadData];
}
这里我无法实现我想要的搜索。相反,我试图列出所有以“h”开头的文件名。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [search_results_array count];
}
//自定义表格视图单元格的外观。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
// Set up the cell...
NSString *Lyrics_found= [search_results_array objectAtIndex:indexPath.row];
cell.textLabel.text=Lyrics_found;
NSLog(@"%@",search_results_array);
return cell;
}
当[Result_table reloadData];给出程序退出,当删除它时,表保持为空。
答案 0 :(得分:1)
在search_results_array
之前保留[Result_table reloadData];
。