Ich habe eine Klasse (Modell) in Swift geschrieben und ich möchte es von Objective C-Klasse zugreifen, aber ich kann nicht.Zugriff auf Eigenschaften von Swift-Klasse in Array
Um mehr zu erklären, habe ich ein Array, das mit Wörterbüchern aus dem in Swift geschriebenen Modell angehängt wird.
Modell sieht wie folgt aus:
@objc class GoalPreviewModel: NSObject {
var id : Int?
var name : String?
init(dictionary: NSDictionary) {
self.id = dictionary["id"] as? Int
self.name = dictionary["name"] as? String
}
}
Dieses Wörterbuch, das von diesem Modell fein gefüllt ist und alles funktioniert gut, solange ich es aus der Klasse geschrieben in Swift zugreifen. Das Problem tritt auf, wenn ich versuche, auf dieses Array von Wörterbüchern zuzugreifen und auf die Eigenschaften zuzugreifen. Die folgende Anweisung funktioniert einwandfrei, wenn ich auf den Namen zugreifen möchte.
[_nameLabel setText:[(NSString*) [[AppState sharedInstance].arrayOfDicts objectAtIndex:idx] valueForKey:@"name"]];
Aber wenn ich versuche ValueForKey zuzugreifen: @ „id“ es gibt mir eine Fehlermeldung wie diese „Diese Klasse ist nicht Schlüssel-Wert-Codierung-konform für den Schlüssel-ID.“
Kann mir jemand dabei helfen?
Vielen Dank im Voraus!
Aus Neugier, wenn Sie die Eigenschaft auf etwas anderes als 'id' umbenennen funktioniert es? – sbooth
@sbooth Ich habe das versucht, aber es funktioniert nicht – Srdjan
Haben Sie [gesehen] (http://stackoverflow.com/questions/24221407/can-a-swift-optional-int-int-be-exposed-to-objektive -c-via-überbrückung)? – paulvs