Я получаю эту ошибку, когда пытаюсь выполнить FetchRequest, чтобы узнать, есть ли в основных данных элемент или нет. Я уже проверил другие вопросы об этой ошибке, но не смог ее решить.
Приведенный ниже код вызывает сбой приложения, когда я пытаюсь найти существующий заголовок в моих основных данных даже до добавления какого-либо элемента, поэтому, возможно, это говорит, что nil недействителен. Дело в том, что я много раз использовал этот метод в своем приложении, и у меня никогда не было этой ошибки, но на этот раз я сделал это.
func checkItem(title: String, entityName: String) -> Bool {
let request: NSFetchRequest<NSFetchRequestResult> = NSFetchRequest(entityName: entityName)
request.predicate = NSPredicate(format: "title == %@", title)
request.fetchLimit = 1
var trueFalse = true
do {
let count = try managedObjectContext.count(for: request)
if count == 0 {
trueFalse = false
} else {
trueFalse = true
}
} catch {
print(error)
}
return trueFalse
}
И вот как я пытаюсь получить доступ к информации из Core Data
Image(systemName: self.checkItem(title: self.title, entityName: self.entityName) ? "heart.fill" : "heart")
Изменить: я пытаюсь вызвать его внутри листа, но если я использую его в другом представлении, я больше не получаю ошибку. Есть ли конфликт между доступом к информации и таблицам Core Data?