2015-10-25 19 views
3

如何解決此編譯錯誤?Swift 2.1:屬性不能標記爲動態?

dynamic var users = [User]() 

屬性不能標記動態的,因爲它的類型不能在Objective-C來表示

我需要dynamic使得某些視圖控制器可以觀察(通過KVO)users和更新他們的意見時users更改。

+0

很清楚的錯誤消息。你不明白哪個詞? – matt

+1

我明白了。我不知道如何解決它。查看更新。 – ma11hew28

+1

是NSObject的用戶子類嗎? – vikingosegundo

回答

4

正如錯誤中提到

錯誤,不@objc : NSObject

class A{ 

} 

func something(){ 
    dynamic var a = [A]() 
} 

應改爲:

@objc class A:NSObject{ 

} 

func something(){ 
    dynamic var a = [A]() //works, all good 
} 
+1

從'NSObject'繼承時使用'@ objc'已經過時。對於來自NSObject的任何繼承都是隱含的 –