SwiftUI @FetchRequest после блокировки экрана не извлекает данные и не возвращает свойства nil
У меня обычный вид SwiftUI вроде этого
struct MyView: View {
@FetchRequest var users: FetchedResults<User>
init() {
self._users = FetchRequest(
entity: User.entity(),
sortDescriptors: [
],
predicate: NSPredicate(format: "company.id == %@", companyId)
)
}
var body: some View {
List {
ForEach(Array(self.users.enumerated()), id: \.1.objectID) { (i, user) in
Text("\(user.name)")
}
}
}
Но после блокировки экрана / использования кнопки домой и возврата в приложение. Первоначально это представление просыпается с пустыми NSManagedObjects, объекты кажутся доступными, есть правильное значение users.count, каждый объект имеет свой соответствующий objectID. Но другие свойства управляемого объекта равны нулю. Затем иногда я сталкиваюсь с тем, что при последующем обновлении представления он может (я думаю, что это "ошибка" свойств этого объекта) получить эти свойства и отобразить в порядке, или может остаться с нулевыми значениями, и у меня есть пустые результаты в списке или сбой в зависимости от user.name принудительно развернут или не
user.name! or user.name ?? ""