【发布时间】:2016-06-10 20:14:40
【问题描述】:
有没有一种方法可以将带有子类参数的函数分配给带有超类参数的函数变量?这是我的意思的一个例子:
class ClassA {}
class subclassOfA:ClassA {}
func subclassToNil(argument:subclassOfA) -> (){}
var functionVariable:(ClassA->())
funcVar = subclassToNil
这会引发类型不兼容异常。
【问题讨论】:
-
那行不通。可以使用
ClassA的实例调用functionVariable(),但该函数需要一个子类 的实例作为参数。 (反之亦然。)