【问题标题】:NSCFString countByEnumeratingWithState:objects:count: ERROR while searching NSMutableArrayNSCFString countByEnumeratingWithState:objects:count: 在搜索 NSMutableArray 时出错
【发布时间】:2010-09-07 15:14:14
【问题描述】:

我有以下情况 我有一个NSMutableArray,里面有一个我想搜索的xml 文件。 当我在搜索字段中输入内容时,我收到此错误:

-[NSCFString countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x5b388b0

这是什么意思,我该如何解决??

我想错误就在附近。

- (void)searchTableView{

 searchedList = [[NSMutableArray alloc] init];
 NSLog(@"new list %@", searchedList);
 NSString *searchText = searchBar.text;
 NSMutableArray *searchArray = [[NSMutableArray alloc] init];

 for (NSDictionary *dictionary in list) {
    NSArray *array = [dictionary objectForKey:@"TITLE"];
   [searchArray addObjectsFromArray:array];
 }

 for (NSString *TempArray in searchArray) {
  NSRange titleResults = [TempArray rangeOfString:searchText options:NSCaseInsensitiveSearch];
  if (titleResults.length > 0) 
  [searchedList addObject:TempArray];
 }
 [searchArray release];
 searchArray = nil;
}

【问题讨论】:

    标签: iphone objective-c search nsmutablearray


    【解决方案1】:

    这意味着你正在调用一个为 NSArray 设计的方法(countByEnumeratingWithState:objects:count 在 NSString 上。

    我不知道这段代码是否是从你的代码中复制/粘贴的,但如果是这样,那么在你使用 [searchList addObject:TempArray] 的最后你没有一个名为 searchList 的对象。

    另外,请注意您的命名约定。大时代。

    【讨论】:

    • 现在我更改了我的 NSArray --> NSString 和 addObjectsFromArray --> addObject 搜索过滤器工作正常,但是当我清空搜索字段时,它再次出现“NSCFString count”
    • 您是否启动并运行了它?我也被我困住了。 :\ 请指教。谢谢!
    • 尝试重建(清理 + 构建)。说真的。
    • 对于未来的用户:在深入调试时,我发现如果您不小心初始化了 NSArray *array = [dictionary valueForKey@"xyz"] 并且 xyz 的对象不存在或者它是 string = @"",那么我们最终会出现此错误。
    • if (![_array isKindOfClass:[NSArray class]]) { _array = [NSArray array]; } 根据需要使用NSMutableArray。作为一个确定的解决方案,如果你没有得到一个数组对象,那么就让它成为一个数组对象。
    猜你喜欢
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    相关资源
    最近更新 更多