SynchronousDataTransaction
public final class SynchronousDataTransaction : BaseDataTransaction
extension SynchronousDataTransaction: CustomDebugStringConvertible, CoreStoreDebugStringConvertible
The SynchronousDataTransaction
provides an interface for DynamicObject
creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.beginSynchronous(_:)
.
-
Cancels a transaction by throwing
CoreStoreError.userCancelled
.try transaction.cancel()
Important
Always use plaintry
on acancel()
call. Never usetry?
ortry!
. Usingtry?
will swallow the cancellation and the transaction will proceed to commit as normal. Usingtry!
will crash the app ascancel()
will always throw an error.Declaration
Swift
public func cancel() throws -> Never
-
Creates a new
NSManagedObject
orCoreStoreObject
with the specified entity type.Declaration
Swift
public override func create<O>(_ into: Into<O>) -> O where O : DynamicObject
Parameters
into
the
Into
clause indicating the destinationNSManagedObject
orCoreStoreObject
entity type and the destination configurationReturn Value
a new
NSManagedObject
orCoreStoreObject
instance of the specified entity type. -
Returns an editable proxy of a specified
NSManagedObject
orCoreStoreObject
.Declaration
Swift
public override func edit<O>(_ object: O?) -> O? where O : DynamicObject
Parameters
object
the
NSManagedObject
orCoreStoreObject
to be editedReturn Value
an editable proxy for the specified
NSManagedObject
orCoreStoreObject
. -
Returns an editable proxy of the object with the specified
NSManagedObjectID
.Declaration
Swift
public override func edit<O>(_ into: Into<O>, _ objectID: NSManagedObjectID) -> O? where O : DynamicObject
Parameters
into
an
Into
clause specifying the entity typeobjectID
the
NSManagedObjectID
for the object to be editedReturn Value
an editable proxy for the specified
NSManagedObject
orCoreStoreObject
. -
Deletes the objects with the specified
NSManagedObjectID
s.Declaration
Swift
public override func delete<S>(objectIDs: S) where S : Sequence, S.Element : NSManagedObjectID
Parameters
objectIDs
the
NSManagedObjectID
s of the objects to delete -
Deletes the specified
NSManagedObject
s orCoreStoreObject
s represented by series ofObjectRepresentation
s.Declaration
Swift
public override func delete<O>(_ object: O?, _ objects: O?...) where O : ObjectRepresentation
Parameters
object
the
ObjectRepresentation
representing anNSManagedObject
orCoreStoreObject
to be deletedobjects
other
ObjectRepresentation
s representingNSManagedObject
s orCoreStoreObject
s to be deleted -
Deletes the specified
NSManagedObject
s orCoreStoreObject
s represented by anObjectRepresenation
.Declaration
Swift
public override func delete<S>(_ objects: S) where S : Sequence, S.Element : ObjectRepresentation
Parameters
objects
the
ObjectRepresenation
s representingNSManagedObject
s orCoreStoreObject
s to be deleted
-
Declaration
Swift
public var debugDescription: String { get }