SynchronousDataTransaction

public final class SynchronousDataTransaction : BaseDataTransaction

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(_:), or from CoreStore.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
  • Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    Declaration

    Swift

    public override func create<D>(_ into: Into<D>) -> D where D : 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<D>(_ object: D?) -> D? where D : 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<D>(_ into: Into<D>, _ objectID: NSManagedObjectID) -> D? where D : 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 a specified NSManagedObject or CoreStoreObject.

    Declaration

    Swift

    public override func delete<D>(_ object: D?) where D : DynamicObject

    Parameters

    object

    the NSManagedObject or CoreStoreObject type to be deleted

  • Deletes the specified DynamicObjects.

    Declaration

    Swift

    public override func delete<D>(_ object1: D?, _ object2: D?, _ objects: D?...) where D : DynamicObject

    Parameters

    object1

    the DynamicObject to be deleted

    object2

    another DynamicObject to be deleted

    objects

    other DynamicObjects to be deleted

  • Deletes the specified DynamicObjects.

    Declaration

    Swift

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

    Parameters

    objects

    the DynamicObjects to be deleted

  • Declaration

    Swift

    public var debugDescription: String { get }