私は2つの要素を持っています:
NSMutableArray* mruItems;
NSArray* mruSearchItems;
基本的にUITableView
を保持する がmruSearchItems
あり、ユーザーが特定の行をスワイプして削除すると、 内のその文字列のすべての一致を見つけmruItems
てそこから削除する必要があります。
NSMutableArray を十分に使用していないため、コードで何らかの理由でエラーが発生します。
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
//add code here for when you hit delete
NSInteger i;
i=0;
for (id element in self.mruItems) {
if ([(NSString *)element isEqualToString:[self.mruSearchItems objectAtIndex:indexPath.row]]) {
[self.mruItems removeObjectAtIndex:i];
}
else
{
i++;
}
}
[self.searchTableView reloadData];
}
}
エラー: 一部の文字列が引用符で囲まれていないことがわかりました (UTF8 のものはそうです)
Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x1a10e0> was mutated while being enumerated.(
"\U05de\U05e7\U05dc\U05d3\U05ea",
"\U05de\U05d7\U05e9\U05d1\U05d5\U05df",
"\U05db\U05d5\U05e0\U05df",
"\U05d1 ",
"\U05d1 ",
"\U05d1 ",
"\U05d1 ",
Jack,
Beans,
Cigarettes
)'