FetchableSource

public protocol FetchableSource : AnyObject

Encapsulates containers which manages an internal NSManagedObjectContext, such as DataStacks and transactions, that can be used for fetching objects. CoreStore provides implementations for this protocol and should be used as a read-only abstraction.

  • Fetches the DynamicObject instance in the FetchableSource‘s context from a reference created from another managed object context.

    Declaration

    Swift

    func fetchExisting<O>(_ object: O) -> O? where O : DynamicObject

    Parameters

    object

    a reference to the object created/fetched outside the FetchableSource‘s context

    Return Value

    the DynamicObject instance if the object exists in the FetchableSource‘s context, or nil if not found.

  • Fetches the DynamicObject instance in the FetchableSource‘s context from an NSManagedObjectID.

    Declaration

    Swift

    func fetchExisting<O>(_ objectID: NSManagedObjectID) -> O? where O : DynamicObject

    Parameters

    objectID

    the NSManagedObjectID for the object

    Return Value

    the DynamicObject instance if the object exists in the FetchableSource, or nil if not found.

  • Fetches the DynamicObject instances in the FetchableSource‘s context from references created from another managed object context.

    Declaration

    Swift

    func fetchExisting<O, S>(_ objects: S) -> [O] where O : DynamicObject, O == S.Element, S : Sequence

    Parameters

    objects

    an array of DynamicObjects created/fetched outside the FetchableSource‘s context

    Return Value

    the DynamicObject array for objects that exists in the FetchableSource

  • Fetches the DynamicObject instances in the FetchableSource‘s context from a list of NSManagedObjectID.

    Declaration

    Swift

    func fetchExisting<O, S>(_ objectIDs: S) -> [O] where O : DynamicObject, S : Sequence, S.Element == NSManagedObjectID

    Parameters

    objectIDs

    the NSManagedObjectID array for the objects

    Return Value

    the DynamicObject array for objects that exists in the FetchableSource‘s context

  • Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchOne<O>(_ from: From<O>, _ fetchClauses: FetchClause...) throws -> O? where O : DynamicObject

    Parameters

    from

    a From clause indicating the entity type

    fetchClauses

    a series of FetchClause instances for the fetch request. Accepts Where, OrderBy, and Tweak clauses.

    Return Value

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

  • Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchOne<O>(_ from: From<O>, _ fetchClauses: [FetchClause]) throws -> O? where O : DynamicObject

    Parameters

    from

    a From clause indicating the entity type

    fetchClauses

    a series of FetchClause instances for the fetch request. Accepts Where, OrderBy, and Tweak clauses.

    Return Value

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

  • Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    let youngestTeen = source.fetchOne(
        From<MyPersonEntity>()
            .where(\.age > 18)
            .orderBy(.ascending(\.age))
    )
    

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchOne<B>(_ clauseChain: B) throws -> B.ObjectType? where B : FetchChainableBuilderType

    Parameters

    clauseChain

    a FetchChainableBuilderType built from a chain of clauses

    Return Value

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType, or nil if no match was found

  • Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchAll<O>(_ from: From<O>, _ fetchClauses: FetchClause...) throws -> [O] where O : DynamicObject

    Parameters

    from

    a From clause indicating the entity type

    fetchClauses

    a series of FetchClause instances for the fetch request. Accepts Where, OrderBy, and Tweak clauses.

    Return Value

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

  • Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchAll<O>(_ from: From<O>, _ fetchClauses: [FetchClause]) throws -> [O] where O : DynamicObject

    Parameters

    from

    a From clause indicating the entity type

    fetchClauses

    a series of FetchClause instances for the fetch request. Accepts Where, OrderBy, and Tweak clauses.

    Return Value

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

  • Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    let people = source.fetchAll(
        From<MyPersonEntity>()
            .where(\.age > 18)
            .orderBy(.ascending(\.age))
    )
    

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchAll<B>(_ clauseChain: B) throws -> [B.ObjectType] where B : FetchChainableBuilderType

    Parameters

    clauseChain

    a FetchChainableBuilderType built from a chain of clauses

    Return Value

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

  • Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchCount<O>(_ from: From<O>, _ fetchClauses: FetchClause...) throws -> Int where O : DynamicObject

    Parameters

    from

    a From clause indicating the entity type

    fetchClauses

    a series of FetchClause instances for the fetch request. Accepts Where, OrderBy, and Tweak clauses.

    Return Value

    the number of DynamicObjects that satisfy the specified FetchClauses

  • Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchCount<O>(_ from: From<O>, _ fetchClauses: [FetchClause]) throws -> Int where O : DynamicObject

    Parameters

    from

    a From clause indicating the entity type

    fetchClauses

    a series of FetchClause instances for the fetch request. Accepts Where, OrderBy, and Tweak clauses.

    Return Value

    the number of DynamicObjects that satisfy the specified FetchClauses

  • Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    let numberOfAdults = source.fetchCount(
        From<MyPersonEntity>()
            .where(\.age > 18)
            .orderBy(.ascending(\.age))
    )
    

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchCount<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType

    Parameters

    clauseChain

    a FetchChainableBuilderType built from a chain of clauses

    Return Value

    the number of DynamicObjects that satisfy the specified FetchChainableBuilderType

  • Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchObjectID<O>(_ from: From<O>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? where O : DynamicObject

    Parameters

    from

    a From clause indicating the entity type

    fetchClauses

    a series of FetchClause instances for the fetch request. Accepts Where, OrderBy, and Tweak clauses.

    Return Value

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

  • Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchObjectID<O>(_ from: From<O>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? where O : DynamicObject

    Parameters

    from

    a From clause indicating the entity type

    fetchClauses

    a series of FetchClause instances for the fetch request. Accepts Where, OrderBy, and Tweak clauses.

    Return Value

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

  • Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    let youngestTeenID = source.fetchObjectID(
        From<MyPersonEntity>()
            .where(\.age > 18)
            .orderBy(.ascending(\.age))
    )
    

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchObjectID<B>(_ clauseChain: B) throws -> NSManagedObjectID? where B : FetchChainableBuilderType

    Parameters

    clauseChain

    a FetchChainableBuilderType built from a chain of clauses

    Return Value

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType, or nil if no match was found

  • Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchObjectIDs<O>(_ from: From<O>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] where O : DynamicObject

    Parameters

    from

    a From clause indicating the entity type

    fetchClauses

    a series of FetchClause instances for the fetch request. Accepts Where, OrderBy, and Tweak clauses.

    Return Value

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

  • Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchObjectIDs<O>(_ from: From<O>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] where O : DynamicObject

    Parameters

    from

    a From clause indicating the entity type

    fetchClauses

    a series of FetchClause instances for the fetch request. Accepts Where, OrderBy, and Tweak clauses.

    Return Value

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

  • Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    let idsOfAdults = source.fetchObjectIDs(
        From<MyPersonEntity>()
            .where(\.age > 18)
            .orderBy(.ascending(\.age))
    )
    

    Throws

    CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema.

    Declaration

    Swift

    func fetchObjectIDs<B>(_ clauseChain: B) throws -> [NSManagedObjectID] where B : FetchChainableBuilderType

    Parameters

    clauseChain

    a FetchChainableBuilderType built from a chain of clauses

    Return Value

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

  • The internal NSManagedObjectContext managed by this FetchableSource. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    Declaration

    Swift

    func unsafeContext() -> NSManagedObjectContext