SwiftUI, использующий переменную экземпляра в @FetchRequest - PullRequest
2 голосов
/ 09 марта 2020

Я пытаюсь использовать переменную экземпляра в моем FetchRequest. Я понимаю, что не могу использовать переменную экземпляра, так как мой init еще не был вызван.

Я попытался вместо этого выполнить FetchRequest в init, который работает, но не обновляется при изменении данных. Есть ли шанс использовать @FetchRequest, который обновляется автоматически, и использовать переменную моего экземпляра?

Я не могу объявить @FetchRequest внутри init. Любое другое решение?

Это мой @FetchRequest

@FetchRequest(entity: PersonVenueMapping.entity(), sortDescriptors: [NSSortDescriptor(key:"", ascending: true)], predicate: NSPredicate(format: "person == %@", PersonFormVenues.personStatic!)) var test123: FetchedResults<PersonVenueMapping>

Я использую person в качестве переменной экземпляра. Вот почему я получаю сообщение об ошибке.

Вот мой код в init:

//Declaration
var personVenueMapping = [PersonVenueMapping]()

let sortDescriptor = NSSortDescriptor(key: "", ascending: true)

var test : NSFetchRequest<PersonVenueMapping> = PersonVenueMapping.fetchRequest()
test.predicate = NSPredicate(format: "person == %@", person)

do {
    self.personVenueMapping = try NSManagedObjectContext.current.fetch(test)
} catch
{
}

Я думал об использовании @State для моего personVenueMapping, однако установка исходных данных не тоже не работает правильно.

TL: DR: Мне нужна функциональность @FetchRequest, и я все еще использую переменную моего экземпляра.

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