Skip to content

Commit d379482

Browse files
author
Gregory Higley
committed
fetchFirst
1 parent 3f529f8 commit d379482

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

Sources/CoreDataQueryInterface/QueryBuilder+Fetch.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,10 @@ public extension QueryBuilder {
9191
try dictionaries().fetch(managedObjectContext) as! [[String: Any]]
9292
}
9393

94+
func fetchFirst(_ managedObjectContext: NSManagedObjectContext? = nil) throws -> R? {
95+
try limit(1).fetch(managedObjectContext).first
96+
}
97+
9498
func count(_ managedObjectContext: NSManagedObjectContext? = nil) throws -> Int {
9599
guard let moc = self.managedObjectContext ?? managedObjectContext else {
96100
preconditionFailure("No NSManagedObjectContext instance on which to execute the request.")

Tests/CoreDataQueryInterfaceTests/Store.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ enum Store {
4747
let languageNames = info["ls"] as! [String]
4848
var languages: Set<Language> = []
4949
for name in languageNames {
50-
let language = try! moc.query(Language.self).filter { $0.name == name }.fetch().first!
50+
let language = try! moc.query(Language.self).filter { $0.name == name }.fetchFirst()!
5151
languages.insert(language)
5252
}
5353
let developer = Developer(context: moc)

0 commit comments

Comments
 (0)