Die Sammlung wurde beim Auflisten mutiert, UITableView

7

Ich habe eine Filterschaltfläche, die eine UITableView in einem Popover darstellt. Ich habe meine Kategorien und einen "Alle" -Knopf, um anzuzeigen, dass kein Filter wie in iTunes vorhanden ist.

Ich habe eine NSMutableDisctionary-Klasse in meiner applicationDelegate-Klasse, mit der ich die Häkchen setze. Wenn die App startet, wird nur Alle ausgewählt, alles andere ist deaktiviert. Was ich will, ist dann, wenn eine Zeile, die nicht "Alle" ist, ausgewählt wird, diese Zeile ausgewählt wird und Alle deaktiviert wird. Wenn All ausgewählt ist, sind alle Zeilen mit Häkchen nicht mehr aktiviert und nur Alle werden mit einem Häkchen markiert (z. B. wenn die App gestartet wird). In meinem UITableView didSelectRowForIndexPath: habe ich Folgendes getan:

%Vor%

Zwei Fragen. Erstens bekomme ich diesen Fehler, wenn ich die erste Zeile (Alle) auswähle:

%Vor%

Wo passiert die Aufzählung? Ich dachte, da ich nur Zeile 0 auswähle, könnte ich auch die anderen Zeilen ändern, und nicht nur die Zeile 0. Ich bin mir nicht sicher, was ich hier tun soll.

Die zweite Frage ist, wie Sie Ihre Modellklasse aktualisieren möchten? Ich war mir nicht sicher, ob dies als gute MVC angesehen wurde. Danke.

    
Crystal 13.07.2011, 22:35
quelle

1 Antwort

19

Die Aufzählung ist die for-Schleife. Sie könnten stattdessen eine Kopie der Schlüssel durchlaufen, um zu vermeiden, dass das Wörterbuch beim Aufzählen mutiert wird:

%Vor%     
omz 13.07.2011, 22:42
quelle