我有一個NSManagedObjects的數組。其中這裏的 是截短的println:Swift投NSManagedObject到派生類失敗
[<NSManagedObject: 0x7f9cbc18cf30> (entity: PTKRMessage; id: 0xd00000000004001a <x-coredata://7EEF4956-FA8F-4DE9-B94C-CF612B40AA77/PTKRMessage/p1> ; data: {...}), <NSManagedObject: 0x7f9cbc18d790> (entity: PTKRMessage; id: 0xd00000000008001a <x-coredata://7EEF4956-FA8F-4DE9-B94C-CF612B40AA77/PTKRMessage/p2> ; data: {...})]
當我嘗試一個元素賦值給一個變量作爲NSManagedObject子類(PTKRMessage)
let message = self.tableData[indexPath.row] as! PTKRMessage
我得到了以下錯誤:
Could not cast value of type 'NSManagedObject_PTKRMessage_' (0x7f9cbc320d10) to 'tradersofdom.PTKRMessage' (0x102dda910).
PTKRMessage在PTKRMessage.swift中定義爲:
class PTKRMessage: NSManagedObject {
@NSManaged var content: String
...
}
它可能與cast NSManagedObject to class -> Swift dynamic cast failed有關,但情況和錯誤消息是不同的。
你嘗試不同的解決方案,以http://stackoverflow.com/questions/25076276/unable-to-find-specific-subclass-of-nsmanagedobject? –
您是否在CoreData模型編輯器中設置了類? – Kametrixom
是的,我都嘗試添加@objc(PTKRMessage)並將tradersofdom.PTKRMessage作爲類添加到實體檢查器。 (Xcode 6.4已經將它作爲PRODUCT_MODULE_NAME.PTKRMessage的前綴)。錯誤消息保持不變 –