当从数组中获取的搜索值时被枚举时发生了突变。我正在使用此代码。

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];
}

最佳答案

更改此代码:

pArrFilteredTableData = pArrBusinessName;

对此
pArrFilteredTableData = [pArrBusinessName mutableCopy];

如果尚未将pArrFilteredTableData设置为NSMutableArray,请确保它不是

关于ios - 在我的iPhone应用程序中,我试图在Tableview中实现UISearchBar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29365744/

10-12 14:29