Выбранный управляемый объект 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, приложение вылетает.