2012-02-01 96 views
1

在我的應用程序中我有一個文本字段,如果我輸入一個單詞,我應該得到所有的文件名稱,以特定的單詞開頭到UITable。在這裏,我將這些文件名放入一個數組中,並在NSLog中使用它...但是表格始終爲空。控制不進入表(NSLog表中的方法沒有得到顯示)。誰能幫我? 我的代碼是UITable沒有得到與NSMutableArray填充

-(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; 
} 

when [Result_table reloadData];被給出的程序被退出,當刪除它時,表格保持空白。

+1

在[Result_table reloadData]之前保留search_results_array; – Sarah 2012-02-01 06:39:53

+0

vow ... gr8 ...非常感謝...它的工作原理... :) – priya 2012-02-01 06:44:52

+1

如果你的代碼崩潰了,請在你的問題中包含崩潰的細節。這個非常重要。 – jrturton 2012-02-01 06:45:23

回答

1

保留search_results_array之前[Result_table reloadData];