私はgenericメソッドT: BaseModel
でクラスメソッドを呼び出そうとします。ここで、TはBaseModelのサブクラスになります。 たとえば、Car
です。 TがCar
である必要がある場合、クラスメソッドがCar
クラスで呼び出されるようにします。クラステンプレートメソッドで静的メソッドを呼び出す方法は?
ただし、常にBaseModelクラスメソッドを呼び出すことになります。
class func parse<T: BaseModel>(json: JSON, context: NSManagedObjectContext) throws -> T? {
return T.classParseMethod(json: json) //This never calls the Car.classParseMethod()
}
どこ
let carObject = parse(json:json, context:context) as? Car
任意のヘルプ?
一般的な解析メソッドでT( 'T.parse(str)as?T')にキャストする必要がある理由は誰でも知っていますか? – hola
私のコードでは動作しません。たぶん、私が働いているのはクラスの関数だからです。 – Mikael