【发布时间】:2015-06-18 16:04:40
【问题描述】:
我的协议“模型”和符合“模型”的类“设备”有一点问题。 在我的协议中,我有一个返回值“模型”的函数。在我的课堂上,我有这个实现函数,并且想将返回类型从“模型”更改为“设备”。但是如果我改变这个,我必须重新添加原来的功能。
我的模型协议:
protocol Model {
func fromJSON(jsonString : String) -> Model
}
我的设备类:
class Device : Model {
func fromJSON(jsonString: String) -> Model {
var jsonObj = JSON(jsonString)
var device = Device()
return device
}
}
当我尝试将此函数的结果分配给设备变量时,我收到以下错误消息:
无法将“模型”类型的值分配给“设备”类型的值
let jsonString: String = "MY ARRAY";
var device2 = Device()
device2 = Device().fromJSON(jsonString)
【问题讨论】:
标签: swift polymorphism protocols