2014-09-20 170 views
0

你好,我試圖重寫像Objective-C的覆蓋功能迅速

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

    return nil 
} 
} 

然後

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

但仍不能獲得價值回報爲零

任何想法如何使用?

感謝

+0

這是在一個子類? – erdekhayser 2014-09-20 18:26:56

+0

是看到上面的實現 – sger 2014-09-20 18:33:59

回答

1

如果您呼叫A.myValue(),返回值將是零。

如果您致電B.myValue(),返回值將是「用戶名」。

重寫的方法只適用於覆蓋它的類。它不影響超類。如果要創建一個名爲C的B的子類,並使用不同的實現,那麼超類的返回類型保持不變。