问题标签 [fetchrequest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
109 浏览

list - 基于 @FetchedRequest 和过滤计算属性的 SwiftUI 列表崩溃

我有这样的代码,它有 @FetchRequest 加载联系人然后我计算了基于 @State 变量进行过滤的属性

但是列表崩溃,索引超出范围错误!

0 投票
1 回答
1665 浏览

core-data - 如何根据相关对象转换 SwiftUI 获取请求结果?

我正在构建一个需要动态谓词的 SwiftUI 列表。该方法在这里讨论:https ://www.hackingwithswift.com/books/ios-swiftui/dynamically-filtering-fetchrequest-with-swiftui

到目前为止,这是我的代码:

到现在为止还挺好。

我不知道该怎么做:我需要根据结果中的其他messages一些消息来转换元素(为简单起见,我们假设基于先前的消息)。messages[0] 看起来应该是一种特殊的方式。消息[1] 的外观取决于消息[0]。消息[2] 依赖于消息[1] 等等。我无法预先计算,因为它可能会随时间而变化。它应该在这个特定的获取请求/结果的上下文中计算。

我可以将其表示为 Message 对象上的一些瞬态计算属性,然后视图代码可以使用该属性进行分支。我可以有一个函数,在其中给出特定消息和消息数组,该函数查找消息和其他消息并基于此设置给定消息的状态。但是,SwiftUI 限制了我可以在 View 代码中执行的操作,我无法以这种方式执行函数。

我可以在访问 WrappedValue 的地方运行 map 或 flatmap,但它们不允许我访问集合的其他元素来做出决定(我认为?)。

在这种情况下,我将如何进行这种转换?

0 投票
1 回答
61 浏览

ios - 显示来自 CoreData 的数据

我有一个使用 CoreData 数据库的 SwiftUI 项目,其中包含 Product 实体。它有2个属性,id和barcode。然后,我创建了一个似乎有效但会导致 [Products] 为空的获取请求。

当视图出现在屏幕上时,我收到错误

线程 1:ForEach 上的 EXC_BREAKPOINT (code=1, subcode=0x1df9bda98),没有其他信息。

我试图让它尽可能简单,但我仍然有问题。我试图完全删除 xcdatamodel 文件并重新创建它,但我一直遇到问题。

}

}

有问题的代码的屏幕截图

0 投票
1 回答
61 浏览

core-data - FetchRequest 在工作表中不可能?

我有一个 SwiftUI 应用程序,它有一个 MainView,这正在调用一个像

FilterView 看起来像这样:

如果我调用工作表,我会得到一个转储:

在出现。如果我删除 onAppear,我会在 ForEach 中得到它。

为什么会这样?

0 投票
3 回答
279 浏览

swiftui - 如何通过动态调用替换@FetchRequest

我的 SwiftUI 项目中有这段代码运行良好

但是,当 SettingsView 关闭时,我需要动态调用 FetchRequest 结束重新加载 Picker 视图。可能我应该使用@ObservableObject,但是如何在 Picker 视图 ForEach 中放置获取请求并使用结果?感谢您的提示。

0 投票
1 回答
625 浏览

fetch - SwiftUI @fetchrequest 没有更新我的视图

我有一个视图,它使用 @fetchrequest 包装器从 CoreData 中提取,但是它工作正常,但是当我在 .sheet 中编辑数据并返回视图时,数据不会更新,直到我离开并返回。它不应该只是自动更新吗?这是一些示例代码:

列表

目的

编辑

任何帮助是极大的赞赏。谢谢!

0 投票
2 回答
161 浏览

swiftui - 在父视图中使用 @FetchRequest 结果

我正在尝试将一些组件抽象为更小的部分。为此,我创建了以下清单:

现在我有一个容器,它将显示列表组件,如果满足子组件内部的条件,还会显示一些附加内容:

我现在的问题是代码崩溃并出现以下异常:

进一步调试控制台会为我提供以下反馈:

调试po self.fetchRequest工作,它包含实例的一个FetchRequest<Article>实例。po self.fetchRequest.wrappedValue提供与上述相同的错误self.results

有谁知道为什么这段代码会崩溃以及可能的解决方法是什么?

谢谢。

0 投票
0 回答
83 浏览

core-data - 屏幕锁定后的SwiftUI @FetchRequest不获取数据并返回零属性

我通常有这样的 SwiftUI 视图

但是在锁定屏幕/使用主页按钮并返回应用程序后。最初,此视图以空的 NSManagedObjects 唤醒,对象似乎可用,有正确的 users.count 值,每个对象都有其适当的 objectID。但其他托管对象属性为零。然后有时我会遇到在随后的视图刷新中它可以(我认为“错误”此对象属性)获取此属性并显示正常,或者可以保留 nil 值并且我在列表中有空结果或崩溃,具体取决于 user.name 被强制解包或不

0 投票
1 回答
403 浏览

core-data - SwiftUI:Core Data @FetchRequest 和 List 显示托管对象 - 在 lockscreemn 上丢失数据

我有丢失核心数据托管对象中的数据的问题(尽管.objectID 的所有属性)在进入锁屏并返回后变得为零。

我一直在调试这个并发现了这样的问题。

上面简化了代码,它工作正常。您可以锁定屏幕并返回,并使用有故障的核心数据托管对象重新加载行。

但是只是在 ContactRow(contact:contact) 周围添加 ZStack、VStack 会破坏这个并进入锁屏,然后再次返回会导致该列表重新加载空托管对象(具有 nil 属性)并且列表为空(如果我使用可选的展开contact.name ?? "") 或者如果我使用像contact.name这样的前展开o只会使应用程序崩溃!

所以这打破了

将我的 SimpleContactLists 更改为此会破坏代码,例如添加 ZStack 会阻止从数据库刷新列表元素?

从 Core Data 加载的空列表

更新

联系人NSManagedObject 为空,但引用self.contacts[i]不是!为什么?

更新 2

我有这样的解决方案。它在某些 List-from-FetchResults 案例中有所帮助,但在更复杂的示例中不是所需的解决方案,例如在 .sheet() 中填充托管对象的 List (所以在这里我需要停止展示这样的工作表)

0 投票
1 回答
1052 浏览

ios - SwiftUI - 在初始化之前使用的变量“self.fetchRequest”

我正在尝试使用 SwiftUI 对核心数据项进行动态过滤。核心数据实体:项目。属性:日期(Date)、完成(布尔)、名称(字符串)。

提供的代码创建了 3 个 Item 实体实例。列表上方有一个分段控件来更改过滤器值。全部关闭过滤器(doneFilter 设置为 nil)。未完成打开过滤器(将 doneFilter 设置为 false)。

还有一个基于分段控制设置 fetchRequest 的 init。

问题

构建失败并出现错误:

在初始化之前使用的变量“self.fetchRequest”

我的代码有什么问题?

内容视图.swift

ListView.swift