我在下面的方法中的 [array removeObjectsInArray:toRemove];
行中有一个异常,无法理解它有什么问题..
- (void) handleDearchForTerm:(NSString *)searchTerm
{
NSMutableArray *sectionsToRemove = [[NSMutableArray alloc] init];
[self resetSearch];
for (NSString *key in _keys)
{
NSMutableArray *array = [_names valueForKey:key];
NSMutableArray *toRemove = [[NSMutableArray alloc] init];
for (NSString *name in array)
{
if ([name rangeOfString:searchTerm options:NSCaseInsensitiveSearch].location == NSNotFound)
[toRemove addObject:name];
}
if ([array count] == [toRemove count])
[sectionsToRemove addObject:key];
[array removeObjectsInArray:toRemove];
}
[_keys removeObjectsInArray:sectionsToRemove];
[_table reloadData];
}
最佳答案
可能数组只是NSArray
的实例,而不是NSMutableArray
,你应该检查_names setObject:forKeys:
关于ios - 异常 "mutating method sent to immutable object",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18848441/