Вы должны вернуть новый созданный Entry
экземпляр.
Ваш метод может быть написан немного короче, и, пожалуйста, назовите метки параметров строчными буквами.
class func findOrCreatEntry(matching entry: Entry, in context: NSManagedObjectContext) throws -> Entry
{
let request: NSFetchRequest<Entry> = Entry.fetchRequest()
request.predicate = NSPredicate(format: "creatTime = %@", entry.creatTime! as CVarArg)
if let firstMatch = try context.fetch(request).first {
return firstMatch
} else {
return Entry(context: context)
}
}
Какова цель Этот способ? Параметр является существующим Entry
экземпляром! На самом деле этот метод полезен только в том случае, если параметром является только дата создания.
И была еще одна опечатка &@
против %@