DynamicObject
public protocol DynamicObject : AnyObject
All CoreStore’s utilities are designed around DynamicObject instances. NSManagedObject and CoreStoreObject instances all conform to DynamicObject.
-
Used internally by CoreStore. Do not call directly.
Declaration
Swift
static func cs_forceCreate(entityDescription: NSEntityDescription, into context: NSManagedObjectContext, assignTo store: NSPersistentStore) -> Self -
Used internally by CoreStore. Do not call directly.
Declaration
Swift
static func cs_fromRaw(object: NSManagedObject) -> Self -
Used internally by CoreStore. Do not call directly.
Declaration
Swift
static func cs_matches(object: NSManagedObject) -> Bool -
Used internally by CoreStore. Do not call directly.
Declaration
Swift
func cs_id() -> NSManagedObjectID -
Used internally by CoreStore. Do not call directly.
Declaration
Swift
func cs_toRaw() -> NSManagedObject
-
partialObject()Extension methodReturns the
PartialObjectinstance for the object, which acts as a fast, type-safe KVC interface forCoreStoreObject.Declaration
Swift
public func partialObject() -> PartialObject<Self>
-
RelationshipExtension methodThe containing type for relationships.
Relationships can be anyCoreStoreObjectsubclass.class Dog: CoreStoreObject { let master = Relationship.ToOne<Person>("master") } class Person: CoreStoreObject { let pets = Relationship.ToManyUnordered<Dog>("pets", inverse: { $0.master }) }Important
Relationshipproperties are required to be stored properties. Computed properties will be ignored, includinglazyandweakproperties.Declaration
Swift
public typealias Relationship = RelationshipContainer<Self>
-
TransformableExtension methodThe containing type for transformable properties.
Transformableproperties support types that conforms toNSCoding & NSCopying.class Animal: CoreStoreObject { let species = Value.Required<String>("species", initial: "") let nickname = Value.Optional<String>("nickname") let color = Transformable.Optional<UIColor>("color") }Important
Transformableproperties are required to be stored properties. Computed properties will be ignored, includinglazyandweakproperties.Declaration
Swift
public typealias Transformable = TransformableContainer<Self>
-
ValueExtension methodThe containing type for value propertiess.
Valueproperties support any type that conforms toImportableAttributeType.class Animal: CoreStoreObject { let species = Value.Required<String>("species", initial: "") let nickname = Value.Optional<String>("nickname") let color = Transformable.Optional<UIColor>("color") }Important
Valueproperties are required to be stored properties. Computed properties will be ignored, includinglazyandweakproperties.Declaration
Swift
public typealias Value = ValueContainer<Self>
View on GitHub
DynamicObject Protocol Reference