SwiftUI @FetchRequest после блокировки экрана, не получающей данные и возвращающей нулевые свойства - PullRequest
0 голосов
/ 08 апреля 2020

У меня обычный вид 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, каждый объект имеет соответствующий идентификатор объекта. Но другие свойства управляемого объекта равны нулю. Затем иногда я сталкиваюсь с тем, что при последующем обновлении представления он может (я думаю, что "ошибка" в свойствах этого объекта) получить эти свойства и отображать их нормально, либо может остаться со значениями nil, и у меня есть пустые результаты в списке или cra sh в зависимости от user.name принудительно развернут или нет

user.name! or user.name ?? ""
...