Skip to content

Commit fdec67e

Browse files
committed
Added optional initialization parameters to cdqiNewEntity.
1 parent 8e7af50 commit fdec67e

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

CoreDataQueryInterface/Extensions.swift

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,17 @@ extension NSManagedObjectContext {
1414
return Query<M, M>().context(managedObjectContext: self)
1515
}
1616

17-
public func cdqiNewEntity<M: NSManagedObject>(_ entity: M.Type = M.self) -> M {
17+
public func cdqiNewEntity<M: NSManagedObject>(_ entity: M.Type = M.self, attributes: [String: Any] = [:], initialize: ((M) -> Void)? = nil) -> M {
18+
let entity: M
1819
if #available(iOS 10, macOS 10.12, tvOS 10, watchOS 3, *) {
19-
return M(entity: M.entity(), insertInto: self)
20+
entity = M(entity: M.entity(), insertInto: self)
2021
} else {
2122
let managedObjectModel = persistentStoreCoordinator!.managedObjectModel
22-
return M(entity: M.cdqiEntity(managedObjectModel: managedObjectModel), insertInto: self)
23+
entity = M(entity: M.cdqiEntity(managedObjectModel: managedObjectModel), insertInto: self)
2324
}
25+
entity.setValuesForKeys(attributes)
26+
initialize?(entity)
27+
return entity
2428
}
2529
}
2630

0 commit comments

Comments
 (0)