Frage

Ich mag eine NSMutableArray von NSStrings zu einem meiner Entitäten in meinem Kerndatenmodell hinzuzufügen. Das Problem ist, dass dies nicht eine unterstützte Art in Core Data.

Ich habe versucht, ein tranformable Attribut machen, aber das Problem ist, dass ich keine Möglichkeit, Drehen einen NSMutableArray zu NSData sehen, und dann von NSData gehen, zurück zu einem NSMutableArray. Hat jemand eine Idee hat, wie kann dieses Problem gelöst werden?

(Ich weiß, dass ich das Array archivieren können, aber ich möchte nicht, dass tun, ich will es in meinem Modell vorhanden sein).

War es hilfreich?

Lösung

Sie konnten ein binäres Datenattribut in Ihrem modelliertes Objekt haben, speichern Sie das Array an Daten, und geben Sie es an das Objekt aus.

Aber ich glaube, der bessere Weg, eine n-Beziehung zu haben sei, anstatt ein Array direkt zu verwenden.

**** Edit: Hier ist, wie das Array in NSData zu archivieren, so dass es ***

in Ihrem verwalteten Objekt verwendet werden
NSData *arrayData = [NSKeyedArchiver archivedDataWithRootObject:[NSArray arrayWithObjects:@"1",@"2", nil]];

Im Grunde genommen jede Klasse, die Sie haben, die mit dem NSCoding Protokoll entspricht auf diese Weise archiviert werden. NSArray / NSMutableArray ihm bereits entsprechen. Sie erzählen alle ihre Objekte selbst zu archivieren, so müssen sie entsprechen. Und alle Tätigkeiten der Mitglieder Objekte entsprechen müssen, usw. Es ist wie ein Baum.

Da Ihr Array entspricht, und es ist eine Reihe von NSString (das entspricht auch), dann sind Sie golden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top