2015-01-21 25 views
0

我正在嘗試將一個搜索欄添加到我的應用程序。我在這裏跟隨AppCoda教程:當用戶開始輸入搜索欄,應用程序將停止在該行正在運行:filterContentForSearchText方法出現錯誤

NSArray *resultsFromTheSearch = [profileNames filteredArrayUsingPredicate:resultPredicate]; 

以下是完整的方法

- (void)filterContentForSearchText:(NSString*)searchText scope: (NSString*)scope 
{ 
    NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"name contains[c] %@", searchText]; 
    NSMutableArray *profileNames = [NSMutableArray array]; 
    for (PFUser *user in self.profiles) { 
     [profileNames addObject:user.username]; 
    } 

    NSArray *resultsFromTheSearch = [profileNames filteredArrayUsingPredicate:resultPredicate]; 

    for (NSString *nameStr in resultsFromTheSearch) { 
     PFQuery *userQuerySearch = [PFUser query]; 
     [userQuerySearch whereKey:@"username" equalTo:nameStr]; 
     [userQuerySearch findObjectsInBackground]; 
    } 
} 

爲什麼這發生?

回答

0

我認爲問題在於你的謂詞。因爲,你已經添加了名字,你的謂詞應該是

NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"self contains[c] %@", searchText]; 
相關問題