Использование @fetchRequest (entity:) для аварийного завершения работы MacOS-приложения SwiftUI - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь запустить базовое тестовое приложение SwiftUI для macOS с использованием Core Data, и у меня возникла проблема. Когда я использую это на мой взгляд:

@FetchRequest(entity: Note.entity(), sortDescriptors: []) let notes: FetchedResults<Note>

Приложение аварийно завершает работу со следующими ошибками:

NoteTaker [error] error: No NSEntityDescriptions in any model claim the NSManagedObject subclass 'NoteTaker.Note' so +entity is confused.  Have you loaded your NSManagedObjectModel yet ?
CoreData: error: No NSEntityDescriptions in any model claim the NSManagedObject subclass 'NoteTaker.Note' so +entity is confused.  Have you loaded your NSManagedObjectModel yet ?

NoteTaker [error] error: +[NoteTaker.Note entity] Failed to find a unique match for an NSEntityDescription to a managed object subclass
CoreData: error: +[NoteTaker.Note entity] Failed to find a unique match for an NSEntityDescription to a managed object subclass

NoteTaker executeFetchRequest:error: A fetch request must have an entity.

Теперь, если я использовал альтернативную форму FetchRequest, тогда он работает нормально, хотя код гораздо уродливее:

// outside of the view
func getAllNotes() -> NSFetchRequest<Note> {
  let request: NSFetchRequest<Note> = Note.fetchRequest()
  request.sortDescriptors = []
  return request
}

// in the view
@FetchRequest(fetchRequest: getAllNotes()) var notes: FetchedResults<Note>

Кроме того, если я вместо этого превращу это в приложение для iOS, тогда версия объекта @FetchRequest будет работать нормально.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...