2016-06-21 14 views
0

umwandeln Ich benutze Core Data in meiner App und bin mit einer viel zu viele Beziehung zwischen zwei Entitäten beschäftigt. Mein Ziel ist es, den Benutzer auszuwählen, welche von einer Entität zu einer anderen Entität verwandt wird, indem eine Tabellenansicht verwendet und der Benutzer Zellen auswählen.Wie ein NSSet zu NSMutableSet in Swift

Wenn die Klasse für die Entität erstellt wird, wird "Listen" als Typ NSSet festgelegt, was sinnvoll ist, da es nicht bestellt werden muss, und ich möchte nicht mehr als eine andere Entität dort.

Mein Problem kommt, wenn ich Elemente zu einem NSSet hinzufügen möchte, ich kann es nicht tun, so weit ich weiß, ohne ein NSMutableSet zu verwenden. Dann bekomme ich addObject und removeObject. Ich kann alles außer dem Teil, wo ich das NSMutableSet initialisiere, um alles zu haben, was das "Lists" NSSet aktuell hat, arbeiten. Alles, was ich probiert habe, sagt mir, dass es immer scheitern wird und nicht bauen wird, oder dass es unerwartet keine Fehler und keine Fehler mehr gibt.

So gibt es eine Möglichkeit, den Inhalt eines NSSet korrekt zu ändern oder zumindest ein NSSet in ein NSMutableSet zu konvertieren und dann, wenn ich fertig bin, dieses NSMutableSet wieder in ein NSSet zu konvertieren?

Ich kann etwas Code hinzufügen, wenn nötig, aber ich denke, ich habe es ziemlich gut erklärt. Lass es mich wissen und ich werde alle Details hinzufügen, die du brauchst.

Vielen Dank im Voraus.

+2

'NSManagedObject' hat eine Methode' mutableSetValueForKey: ' – vadian

Antwort

2

einfach eine änderbare Kopie erstellen:

var set = NSSet(objects: "One", "Two", "Three") 
let mutableSet = set.mutableCopy() as! NSMutableSet 
mutableSet.addObject("Four") 
set = mutableSet 
+2

diese Antwort ist nicht angemessen für Kerndaten – Wain

+0

ok, tut mir leid. "Gibt es also eine Möglichkeit, den Inhalt eines NSSet korrekt zu ändern oder zumindest ein NSSet in ein NSMutableSet zu konvertieren und dann, wenn ich fertig bin, dieses NSMutableSet zurück in ein NSSet zu konvertieren?" klang für mich, als gäbe es ein generelles Problem beim Gießen der Typen ... –

+0

Mann, ich wusste, dass es so einfach war. Ich danke dir sehr. Es scheint zu funktionieren! –