使用SearchBar时出现NSUnknownKeyException.此类不是密钥值的密钥值编码兼容

Jon*_*n M 3 arrays objective-c nsarray searchbar nsunknownkeyexception

我已经查看了其他人发布的这类错误的帖子,但是UISearchBar没有,我没有可以将我的问题与以下内容联系起来:

简而言之,我正在玩searchBars并尝试构建基础知识.

我有2个阵列

@interface ViewController ()
{
    NSMutableArray *dataList;
    NSArray *searchResults;
}
Run Code Online (Sandbox Code Playgroud)

我使用以下内容填充了我的dataList数组:

dataList = [[NSMutableArray alloc] init];

[dataList addObject:@"This is row 1"];
[dataList addObject:@"That is row 2"];
....
[dataList addObject:@"More data in 20"];
Run Code Online (Sandbox Code Playgroud)

我设置了我的searchDisplayController:

-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString*) searchString
{
    [self filterContentForSearchText:searchString
                           scope:[[self.searchDisplayController.searchBar scopeButtonTitles]
                                  objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]];
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

我有一个过滤功能:

- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope {    
    NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"name contains[c] %@", searchText];

    searchResults = [dataList filteredArrayUsingPredicate:resultPredicate];
}
Run Code Online (Sandbox Code Playgroud)

在最后一个过滤器函数中,我在最后一行开始时出现错误 searchResults =

2014-07-29 17:47:16.056 TestSearch[44628:60b] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<__NSCFConstantString 0x1000069c8> valueForUndefinedKey:]: this class is not key value coding-compliant for the key name.'
*** First throw call stack:
...
...
...
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

我尝试使用NSArray而不是,NSMutableArray但我得到相同的错误.

tableView是填补了OK的数据,所以没有问题存在.

gio*_*shc 5

name不是NSString对象的属性.使用self谓词:

NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"self contains[c] %@", searchText];
Run Code Online (Sandbox Code Playgroud)