Collection <__ NSArrayM: 0x7fa1f2711910> wurde während der Aufzählung mutiert
Es gibt eine Reihe von Fragen mit ähnlichem Titel, aber keine davon hat mir geholfen.
aber ich kann Lösung dieses @ bezieh 'NSGenericException', Grund: Sammlung <__ NSArrayM: 0x7fabb400> wurde während der Aufzählung mutiert frage mit meiner frage.Denn diese Beendigung geschieht, wenn ich ein String-Objekt mit Array hinzufüge oder entferne.
Error
App wird aufgrund einer nicht erfassten Ausnahme 'NSGenericException' beendet, Grund: '*** Collection <__ NSArrayM: 0x7fa1f2711910> wurde während der Aufzählung mutiert.'
Zuerst einen Aufrufstapel werfen:
(
0 CoreFoundation 0x00000001087b8c65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000108422bb7 objc_exception_throw + 45
2 CoreFoundation 0x00000001087b85c4 __NSFastEnumerationMutationHandler + 132
3 0x0000000107e24cf5 -[ProfessionalRegSecond tableView:didDeselectRowAtIndexPath:] + 773
4 UIKit 0x0000000109759d71 -[UITableView _deselectRowAtIndexPath:animated:notifyDelegate:] + 347
5 UIKit 0x000000010974deea -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 187
6 UIKit 0x000000010968062c _applyBlockToCFArrayCopiedToStack + 314
7 UIKit 0x00000001096804a6 _afterCACommitHandler + 533
8 CoreFoundation 0x00000001086ebca7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
9 CoreFoundation 0x00000001086ebc00 __CFRunLoopDoObservers + 368
10 CoreFoundation 0x00000001086e1a33 __CFRunLoopRun + 1123
11 CoreFoundation 0x00000001086e1366 CFRunLoopRunSpecific + 470
12 GraphicsServices 0x000000010d6c8a3e GSEventRunModal + 161
13 UIKit 0x000000010965c900 UIApplicationMain + 1282
14 0x0000000107de14cf main + 111
15 libdyld.dylib 0x000000010b585145 start + 1
)
libc ++ abi.dylib: Abbruch mit nicht erfasster Ausnahme vom Typ NSException
Was ich versuche zu tun:
Ich brauche Array in der Weise, dass, wenn ich Zelle auswähle, ich das Objekt Array hinzufügen möchte und wenn ich die Auswahl der Zeile aufhebe, ich diese Zeile aus Array entfernen möchte, so dass ein Ergebnis-Array nur ausgewählte Einträge sein wird. Wie macht man das
Hier ist mein Code
@implementation Professional
{
NSMutableArray *updatedLocalityArray; // alloc,init did in viewDidLoad
NSString *toCheck;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *tableViewCell = [tableView cellForRowAtIndexPath:indexPath];
NSLog(@"%@",tableViewCell.textLabel.text);
toCheck = tableViewCell.textLabel.text;
[updatedLocalityArray addObject:toCheck];
NSLog(@"%@ *****", updatedLocalityArray);
}
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *tableViewCell = [tableView cellForRowAtIndexPath:indexPath];
NSLog(@"%@",tableViewCell.textLabel.text);
for (NSString *test in updatedLocalityArray)
{
if ([test isEqualToString:tableViewCell.textLabel.text])
{
[updatedLocalityArray removeObject:test];
NSLog(@"%@ *****", updatedLocalityArray);
}
}
}