2013-07-03 113 views
1

我在我的應用程序中使用UISearchBar。UISearchBar結果未顯示

- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope 
{ 
    [self.filtered removeAllObjects]; 
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.companyName contains[cd] %@",searchText]; 
    NSArray *tempArray = [ee filteredArrayUsingPredicate:predicate]; 
    filtered = [NSMutableArray arrayWithArray:tempArray]; 
} 

我做NSLog上面「過濾」陣列,它得到正確的搜索結果。

我沒有看到tableview中的篩選值。如果我輸入錯誤的搜索文字,我會看到「沒有結果」。但是對於正確的搜索文本,表格視圖是純白色的。

誰能幫我需要做什麼?

在此先感謝!

+0

檢查,看看你的數組爲null – NightSkyCode

+0

有你重裝實現代碼如下。被過濾的數組是tableview的數據嗎? – Vinodh

+0

我的過濾數組不是空,我做了NSLog來查看過濾的值。我在cellForRowAtIndexPath方法中以及在numberOfRowsInSection中看到過濾的數組值。 – user906492

回答

0

請使用下面的代碼。並確保self.filtered是yourtableview的數據源。數據源是指陣列 從tableview中被填充

- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope 
    { 
     [self.filtered removeAllObjects]; 
     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.companyName contains[cd] %@",searchText]; 
     NSArray *tempArray = [ee filteredArrayUsingPredicate:predicate]; 
     filtered = [NSMutableArray arrayWithArray:tempArray]; 
    [yourtableview reloadData]; 
    } 
0
Write the above code then Reload the table in the source code 


    [tableView reloadData]; 
+0

[self.tableview reloadData];該方法內沒有工作。 – user906492

+0

我已經縮小了這個問題。如果單元格是UITableViewCell,則來自SearchBar的過濾器正在工作。我有一個自定義單元格,我已將UITableViewCell擴展到ECell。使用這個,Filterdata不起作用。任何想法? – user906492

+0

對象重載的tableview – Charlie