Просто начать проект. Файл модели данных имеет одну сущность, которая имеет один атрибут Transformable. Предполагается, что это NS/CGRect
. Я создал Xcode соответствующие NSManagedObject
файлы подкласса. Для "MyThing.swift", я получил:Как я могу использовать атрибут Transformable как его фактический тип в подклассе NSManagedObject?
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
-объявленный CGRect
? (Я надеюсь, что CoreData позаботится о любых преобразованиях NSData <-> NSValue
.)
Я пошел с освобождением от подкласса (и расширения) и передал непосредственно '' NSValue'-wrapped 'CGRect'. Я все еще удивляюсь, какая лучшая идея, в случае, если мне нужно снова разобраться с этим. – CTMacUser