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 plain try on a cancel() call. Never use try? or try!. Using try? will swallow the cancellation and the transaction will proceed to commit as normal. Using try! will crash the app as cancel() will always throw an error.

    Declaration

    Swift

    public func cancel() throws -> Never

BaseDataTransaction

  • Creates a new NSManagedObject or CoreStoreObject 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 destination NSManagedObject or CoreStoreObject entity type and the destination configuration

    Return Value

    a new NSManagedObject or CoreStoreObject instance of the specified entity type.

  • Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    Declaration

    Swift

    public override func edit<O>(_ object: O?) -> O? where O : DynamicObject

    Parameters

    object

    the NSManagedObject or CoreStoreObject to be edited

    Return Value

    an editable proxy for the specified NSManagedObject or CoreStoreObject.

  • 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 type

    objectID

    the NSManagedObjectID for the object to be edited

    Return Value

    an editable proxy for the specified NSManagedObject or CoreStoreObject.

  • Deletes the objects with the specified NSManagedObjectIDs.

    Declaration

    Swift

    public override func delete<S>(objectIDs: S) where S : Sequence, S.Element : NSManagedObjectID

    Parameters

    objectIDs

    the NSManagedObjectIDs of the objects to delete

  • Deletes the specified NSManagedObjects or CoreStoreObjects represented by series of ObjectRepresentations.

    Declaration

    Swift

    public override func delete<O>(_ object: O?, _ objects: O?...) where O : ObjectRepresentation

    Parameters

    object

    the ObjectRepresentation representing an NSManagedObject or CoreStoreObject to be deleted

    objects

    other ObjectRepresentations representing NSManagedObjects or CoreStoreObjects to be deleted

  • Deletes the specified NSManagedObjects or CoreStoreObjects represented by an ObjectRepresenation.

    Declaration

    Swift

    public override func delete<S>(_ objects: S) where S : Sequence, S.Element : ObjectRepresentation

    Parameters

    objects

    the ObjectRepresenations representing NSManagedObjects or CoreStoreObjects to be deleted

CustomDebugStringConvertible

  • Declaration

    Swift

    public var debugDescription: String { get }