Um zwei Entitäten in Core Data zu suchen, möchte ich ein Array erstellen, das aus beiden Elementen besteht. Es ist einfach, ein Array von Objekten aus einer Entität zu erstellen und mithilfe von valueforkeyy auch ein Array mit nur einem Attribut zu erstellen. Mit arrayByAddingObjectsFromArray können Sie einzelne Attributfelder zu einem langen kombinieren. Ich muss jedoch zwei Attribut-Arrays aus jeder Entität erstellen, die den Namen und die ID enthalten.IOS/Objective-C: Dimensionen von Arrays manipulieren
Kennt jemand eine Möglichkeit, Attribute oder Felder zu löschen, wie Sie in R oder vielen anderen Sprachen tun können, damit ich Arrays mit nur zwei Attributen erstellen kann, die dann zusammengefügt werden können?
Der Ausgang Arrays haben eine unterschiedliche Anzahl von Attributen, dh
cars({
make = "Ford";
model = "Focus";
year = "2010";
carid = 127;
},
{
make = "Chevy";
model = "Camaro";
year = "2014";
carid = 126;
})
bikes({
make = "Giant";
year = "2010";
bikeid = 33;
},
{
make = "Trek";
year = "2014";
bikeid = 34;
})
für diese Taste verwendet Wert wie in:
NSMutableArray * carmakes = [[cars valueForKey:@"make"] mutableCopy];
ich die Arrays
cars(
"Ford",
"Chevy",
"Toyota")
bikes(
"Giant",
"Trek",
"Cannondale")
Und mit umwandeln kann:
vehicles=[_bikes arrayByAddingObjectsFromArray:_cars];
kombinieren diese:
vehicles(
"Giant",
"Ford",
"Chevy",
"Toyota",
"Giant",
"Trek",
"Cannondale")
Allerdings gibt es keine IDs. Wie kann ich ein Array erstellen, die wie folgt aussieht:
vehicles({
make = "Ford";
id = 127;
},
{
make = "Chevy";
id = 126;
},
{
make = "Giant";
id = 33; },
{
make = "Trek";
id = 34;})
Edit:
Hier ist, wie die Eigenschaften in ihren verwalteten Objektdateien angezeigt:
@interface Cars : NSManagedObject
@property (nonatomic, retain) NSNumber * carid;
@property (nonatomic, retain) NSString * make;
@end
Das Array von der erstellt wird folgender code:
Danke für jede su Empfehlungen.
Brilliant. Einfach, sobald du es erklärt hast. Vielen Dank. – Arjun
Dachte das würde funktionieren, aber bekomme Fehler auf Auto [@ "make"] von 'NSInvalidArgumentException', Grund: '- [Autos objectForKeyedSubscript:]: unerkannter Selektor an Instanz gesendet. Make ist ein Attribut. Fehler passiert auch, wenn ich gerade versuche, Auto [@ "make"] zu loggen. Ist es möglich, dass das Array nicht aus Wörterbüchern besteht oder was könnte falsch sein? – Arjun
Das ist, was ich bekomme, wenn ich Auto anmelde: (Einheit: Autos; ID: 0xd000000002dc0000 ; Daten: { make = "Ford"; carid = 6729; timecreated = null; wasedeleted = null; }) –
Arjun