【发布时间】:2016-01-19 07:02:48
【问题描述】:
刚刚开始一个项目。数据模型文件有一个实体,该实体具有一个可转换的属性。它应该是NS/CGRect。我让 Xcode 创建了相应的 NSManagedObject 子类文件。对于“MyThing.swift”,我得到:
import Foundation
import CoreData
class MyThing: NSManagedObject {
// Insert code here to add functionality to your managed object subclass
}
我得到了一个“MyThing+CoreDataProperties.swift”:
import Foundation
import CoreData
extension MyThing {
@NSManaged var myBounds: NSObject?
}
我希望该属性是一个实际的CGRect,所以我需要一个NSData <-> NSValue <-> NSRect 转换链。我已经将“NSKeyedUnarchiveFromDataTransformer”作为接口生成器中属性类型下的名称。我应该添加(和/或更改)什么来传递 CGRect 值?
或者我不这样做,而只是传递NSValue-wrapped CGRects? (我希望 CoreData 能够处理任何 NSData <-> NSValue 转换。)
【问题讨论】:
-
我摆脱了子类(和扩展)并直接传递
NSValue-wrappedCGRects。我仍然想知道最好的主意是什么,以防我需要再次处理这个问题。
标签: cocoa core-data nsmanagedobject