Initializer

init(fetchRequest:animation:)

Creates a fully configured fetch request that uses the specified animation when updating results.

Declaration 宣言

init(fetchRequest: NSFetchRequest<Result>, animation: Animation? = nil)
Available when Result conforms to NSFetchRequestResult.

Parameters パラメータ

fetchRequest

An NSFetchRequest instance that describes the search criteria for retrieving data from the persistent store.

animation

The animation to use for user interface changes that result from changes to the fetched results.

Discussion 議論

Use this initializer when you want to configure a fetch request with more than a predicate and sort descriptors. For example, you can vend a request from a Quake managed object that the Loading and Displaying a Large Data Feed sample code project defines to store earthquake data. Limit the number of results to 1000 by setting a fetchLimit for the request:


extension Quake {
    var request: NSFetchRequest<Quake> {
        let request = NSFetchRequest<Quake>(entityName: "Quake")
        request.sortDescriptors = [
            NSSortDescriptor(
                keyPath: \Quake.time,
                ascending: true)]
        request.fetchLimit = 1000
        return request
    }
}

Use the request to define a FetchedResults property:


@FetchRequest(fetchRequest: Quake.request)
private var quakes: FetchedResults<Quake>

If you only need to configure the request’s predicate and sort descriptors, use init(sortDescriptors:predicate:animation:) instead. If you need to specify a Transaction rather than an optional Animation, use init(fetchRequest:transaction:).

See Also 参照

Creating a Fully-Configured Fetch Request