Ich versuche, eine Klassenmethode auf einem generischen T: BaseModel
aufzurufen, wobei T eine Unterklasse von BaseModel sein kann. Zum Beispiel Car
. Wenn T Car
sein soll, möchte ich, dass meine Klassenmethode in der Klasse Car
aufgerufen wird.So rufen Sie eine statische Methode für eine Klassenvorlagenmethode auf?
Es ruft jedoch immer die BaseModel-Klassenmethode auf.
class func parse<T: BaseModel>(json: JSON, context: NSManagedObjectContext) throws -> T? {
return T.classParseMethod(json: json) //This never calls the Car.classParseMethod()
}
wo
let carObject = parse(json:json, context:context) as? Car
Jede Hilfe?
Wer weiß, warum Sie noch in der generischen Parse-Methode nach T ('T.parse (str) als? T') werfen müssen? – hola
Funktioniert nicht in meinem Code. Vielleicht, weil ich arbeite, sind Klassenfunktionen. – Mikael