当数组中的搜索值变得越来越< __NSArrayM:>在枚举时发生了变化。我正在使用这段代码。在我的iPhone应用程序中,我试图在Tableview中实现UISearchBar
NSInteger strlen=[searchText length];
for (NSString *pStr in pArrBusinessName) {
NSRange nameRange = [pStr rangeOfString:searchText options:NSCaseInsensitivePredicateOption];
if(nameRange.location != NSNotFound) {
if (strlen == 1) {
pArrFilteredTableData = pArrBusinessName;
} else {
if ([pStr isKindOfClass:[NSNull class]]) {
NSLog(@"NSNull isKindOfClass called!");
}
if (![pStr isKindOfClass:[NSNull class]]) {
[pArrFilteredTableData addObject:pStr];
}
}
} else {
if ([pArrFilteredTableData count] == 0) {
}
}
[pTblDetails reloadData];
}
所以,你显然是通过数组循环和改变它,而循环内。相反,请创建一个新阵列来保存搜索结果并单独更新。你可以前往谷歌搜索许多关于如何在TableView中实现UISearchBar的例子。 SO也有很多例子。请在添加您的问题前先搜索。我相当确定这个问题将被标记为重复。不要灰心,这是如何工作的SO。先搜索。 – 2015-03-31 10:01:09
谢谢Tommie – KrishJacky 2015-03-31 10:22:31
[Collection <\ _ \ _ NSArrayM:0x76c11b0>在枚举时发生了变异](http://stackoverflow.com/questions/8458786/collection-nsarraym-0x76c11b0-was-mutated-while-being - 枚举) – 2015-03-31 10:23:22