Выбранный управляемый объект SwiftUI CoreData равен нулю после появления с экрана блокировки / домашнего экрана

При использовании SwiftUI и @FetchRequest, как это

 // MARK: - Core Data
    @FetchRequest var fetchRequest: FetchedResults<SomeObject>
    var someObject: SomeObject? {
        fetchRequest.first
   }

очень часто после блокировки телефона или касания главного экрана и последующего возврата в приложение этот someObject равен нулю, и попытка доступа к его свойствам вызывает сбои

поэтому, если я хочу передать SomeObject в subview, мне нужно обернуть его в оператор if

 if self.someObject != nil {
                        SomeObjectDetailsView(deal: self.someObject!, showPicker: self.$showSomeObject)
                    }

И коды делают очень нечитаемыми там всегда есть это if check. С другой стороны, если я просто использую предварительное развертывание без оператора if, приложение вылетает.

0 ответов

Другие вопросы по тегам