我有一个派生自泛型类的类。
angular
.module('app', [])
.controller('DateController', DateController)
function DateController($scope) {
var vm = this;
vm.events = [
{
"name" : "sunday first event",
"date" : moment('11/06/2017 11:00').format("DD-MM-YYYY HH:mm")
},
{
"name" : "sunday third event",
"date" : moment('11/06/2017 16:00').format("DD-MM-YYYY HH:mm")
},
{
"name" : "sunday late event",
"date" : moment('11/06/2017 21:00').format("DD-MM-YYYY HH:mm")
},
{
"name" : "sunday second event",
"date" : moment('11/06/2017 12:00').format("DD-MM-YYYY HH:mm")
}
];
}
还有另一个来自open class Model<T>: BaseModel where T: SomeData {
}
的类。
SomeData
现在我有一个类作为许多模型的基类。
open class NetworkData: SomeData {
}
有两个从ParentModel派生的子类。
open class ParentModel: Model<NetworkData> {
}
还有许多其他类来自Model泛型类型。 在其中一种情况中,我想将此泛型类型用作函数参数,然后将其类型转换为专门化类。
我已经完成了以下代码来实现目的
open class SonModel: ParentModel {
}
open class DaughterModel: ParentModel {
}
然而,在线
func someName<T: SomeData>(model: Model<T>) {
guard let model = model as? DaughterModel else {
//Some code here
}
//Main logic goes here
}
我收到以下错误
从'Model'转换为无关类型'DaughterModel'总是失败。
如何修复错误?非常感谢任何帮助。