在swift中覆盖函数

时间:2014-09-20 18:19:55

标签: swift override

你好我试图覆盖像objective-c

class A {
class func myValue()->NSString? {

    return nil
}
}

然后

class B: A {
override class func myValue()->NSString? {
    return "username"
}
}

但仍然无法获得值返回nil

任何想法如何使用?

由于

1 个答案:

答案 0 :(得分:1)

如果您正在呼叫A.myValue(),则返回值将为零。

如果您致电B.myValue(),则返回值将为“用户名”。

重写方法仅适用于覆盖它的类。它不会影响超类。如果你要创建一个名为C的B的子类,并使用不同的实现,那么超类的返回类型将保持不变。