core-data - 屏幕锁定后的SwiftUI @FetchRequest不获取数据并返回零属性
问题描述
我通常有这样的 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。但其他托管对象属性为零。然后有时我会遇到在随后的视图刷新中它可以(我认为“错误”此对象属性)获取此属性并显示正常,或者可以保留 nil 值并且我在列表中有空结果或崩溃,具体取决于 user.name 被强制解包或不
user.name! or user.name ?? ""
解决方案
推荐阅读
- sql - 选择加入和PHP
- docker - 在 docker 上安装 magento 2.2
- r - 如何从 R 中获得 P 值的整洁 excel 输出
- c# - 选择组合框项目时 DataTrigger 不起作用
- javascript - 从 node.js 查询 MSSQL 时使用日期
- prediction - AdaBoost - 获取特定数量的估计器的预测
- javascript - Mongoose .catch 块在多个地方是相同的。我该如何避免这种情况?
- scala - 理解 Scala FP 库
- python - 定义面具将在其中起作用的视频区域
- ssis - 我可以仅参数化 SSIS 包中连接字符串的信任服务器证书组件吗?