2016-07-11 16 views
1

這是我NSManagedObject不能專注非泛型類型「設置」

@objc(Order) 
class Order: NSManagedObject { 

    @NSManaged var orderItems: Set<OrderItem> //error: Cannot specialize non-generic type 'Set' 
} 

任何人都知道爲什麼它不工作?創建

OrderItem文件,但是對於聲明如下工作:

@NSManaged var orderItem: OrderItem 
+0

在Xcode 7.3.1操作系統中運行良好,您正在使用哪個版本的Swift? –

+0

同樣的Xcode,如何查看Swift的版本? –

+0

xcrun swift -version –

回答

2

僅供參考,如果有人要來在未來這個討厭的錯誤這個問題,因爲討論的意見繼續。

是的,Swift中默認的Set類型是通用的,但在這種情況下,定製的非通用Set類影射了該語言標準庫定義的類。

總是爲您的課程選擇不同的名稱,以避免名稱衝突。但如果需要,您可以始終使用類的完全限定名稱來引用您想要的類。

標準語言類可在Swift.名稱空間下使用,而對於其他類,可以使用模塊名稱後跟一個點和類名稱(例如Foundation.NSString)。