在 @FetchRequest 中输入一个动态值,以从 SwiftUI 中的核心数据中获取单个实体

2023-12-10

我在这里看到了相同类型的错误,但使用了不同类型的代码,所以我认为最好就此上下文提出一个新问题。我试图通过尝试传递一个字符串变量(用作查找该实体的键)来从核心数据中“查找特定实体”title into @FetchRequest。这是我使用过的代码的一部分

struct AccountMainPage: View {
    //*** User input ***
    var title: String

    //*** Core data enviroment initialisation ***
    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
    @Environment(\.managedObjectContext) var managedObjectContext
    @FetchRequest(fetchRequest: Accounts.getSpecificAccounts(findTitle: title)) var fetchedAccount: FetchedResults<Accounts>


    var body: some View {
    //SOME CODE HERE
    }
}

公开课Accounts具有扩展名:

extension Accounts {
    static func getSpecificAccounts(findTitle: String) -> NSFetchRequest<Accounts> {
    let request: NSFetchRequest<Accounts> = Accounts.fetchRequest() as! NSFetchRequest<Accounts>

    let findDescriptor = NSPredicate(format: "title == %@",findTitle)

    request.predicate = findDescriptor

    return request
    }
}

然而,该行与@FetchRequest(fetchRequest: Accounts.getSpecificAccounts(findTitle: title)) var fetchedAccount: FetchedResults<Accounts>有语法错误:

无法在属性初始值设定项中使用实例成员“标题”;属性初始值设定项在“self”可用之前运行

我的代码有问题吗?


@FetchRequest是动态属性,与任何其他属性一样,在您之前初始化AccountMainPage init被称为,所以self尚不可用,这就是为什么你不能使用title属于以下成员的财产self,这就是编译器错误所告诉的内容。

所以这是一个可能的解决方案:我们使用存根请求初始化 fetch request 属性,然后在init,稍后调用,用真正的获取请求重新初始化它。

这是一个方法演示(所有不相关的内容都被删除):

struct ContentView: View {
    var title: String

    @Environment(\.managedObjectContext) var managedObjectContext
    @FetchRequest(fetchRequest: Accounts.fetchRequest()) var fetchedAccount: FetchedResults<Accounts>

    init(title: String) {
        self.title = title
        _fetchedAccount = FetchRequest<Accounts>(fetchRequest: Accounts.getSpecificAccounts(findTitle: title))
    }

...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 @FetchRequest 中输入一个动态值,以从 SwiftUI 中的核心数据中获取单个实体 的相关文章

  • 魔法记录未保存

    我正在使用魔法记录 https github com magicalpanda MagicalRecord https github com magicalpanda MagicalRecord 我正在尝试使用 Magical Record
  • 更新/编辑 coreData 管理对象

    当用户单击 UITableView 中基于 cell accessoryType 的单元格时 我尝试编辑 CoreData 对象 以显示该项目是否已被单击 这是当前的代码 void tableView UITableView tableVi
  • 举例说明为什么不建议将图像存储在 CoreData 中?

    这个问题已经被问过很多次了 我读到很多用户都说不建议将图像存储在数据库中 特别是在 CoreData 中 他们似乎都忽略了他们这样做的原因 甚至苹果文档也声明了这一点 每个人都指向那个方向 每次讨论都以这样的方式结束 好吧 你可以 但存储路
  • iOS CoreData:“数据模型版本编译器”错误

    我在项目中创建了一个数据模型文件 ChatModel xcdatamodeld 然后我合并了github上的分支 project pbxproj 中存在冲突 我修好了它们 然后错误就发生了 Users mac zhongqing ios Z
  • NSPersistentStoreCoordinator 线程安全吗?

    我正在开发一个使用 Core Data 的 iPhone 应用程序 该应用程序调用 Web 服务 解析生成的 XML 文件 然后在我的应用程序中创建或修改 Core Data 对象 我已经处理了 Web 服务调用并异步解析 但我一直将解析后
  • 获取实体中某个值的最大值

    我正在尝试获取核心数据中实体中属性的最大值 苹果有一个很好的例子here http developer apple com library mac documentation Cocoa Conceptual CoreData Articl
  • Swift Joint:在可观察对象中使用计时器发布者

    在这个问题被标记为重复之前这另一个问题 https stackoverflow com questions 57199922 create a timer publisher using swift combine 我试图了解出版商是如何运
  • SwiftUI 多行文本背景颜色

    我在 SwiftUI 中有一个包含多行的文本视图 我知道我可以更改文本的背景颜色 Text
  • 更改 RealityKit 中 AnchorEntity 的旋转

    我在放置对象 3 秒后将 3d 对象放置到 ARViewController 中 然后我想将对象旋转 90 度 arView scene addAnchor anchorEntity DispatchQueue main asyncAfte
  • SwiftUI 动画滑入和滑出

    我有一个视图将显示在另一个视图上 视图动画完美地从右侧滑入 但是当我单击 关闭 按钮时 视图消失 而没有在消失之前滑回右侧的所需动画 我尝试过使用 opacity self isShowing 1 0 但随后视图淡入和淡出 我需要它滑入和滑
  • 从“NSPercientStoreResult”转换为不相关类型“Entity”总是失败

    我正在创建一个小应用程序来学习 CoreData 中的多对多关系 但是 使用下面的代码 从 NSFetchResult 到实体类 Groepering 的转换出现错误 与我的项目相比 我在互联网上找到的示例没有看到任何差异 为什么转换仍然失
  • 当我输入字符时,SwiftUI 中的 TextField 失去焦点

    当我在文本字段中输入字符时遇到问题 在练习集视图 我必须重新单击文本框才能输入另一个字符 如果我从文本字段中删除绑定 我可以流畅地输入文本 我认为这与我的演讲者班级和更新集函数重新创建一个集合实例 因为我必须替换数组中两层深处的一些值 Co
  • 如何在 iOS 13 中将 UISegmentedControl 的背景颜色设置为白色

    iOS 13 对 UISegmentedControl 进行了一些更改 包括切换所选片段时的非常漂亮的动画 但是我注意到它没有显示backgroundColor属性正确 它似乎总是有一点色彩 我见过回答如何设置的问题selectedSegm
  • 如何在 iPhone 上使用 SwiftUI 显示表格数据?

    我正在为当地的体育联盟开发一个应用程序 一个视图将是当前排名 每行有几个字段 球队名称 已玩的比赛 得分等 我希望球队列左对齐 其他列右对齐 似乎最好的答案是 SwiftUI 的 Table 但在 iPhone 上 它只显示第一列 我尝试过
  • 具有图形样式的 DatePicker 打破了 iOS 16.0 上的布局限制

    以下代码在 iOS 16 0 的 Xcode 14 0 0 Beta 5 上运行时打破了布局约束 struct ContentView View State var date Date var body some View DatePick
  • 在其他数组中使用 ForEach 的索引

    为什么我不能使用 FromEach 的索引作为其他数组的索引 这个索引是Int 那么有什么问题呢 var word String return slova selector var symbols Array
  • 设备旋转时的 SwiftUI 重绘视图组件

    如何在 SwiftUI 中检测设备旋转并重新绘制视图组件 当第一个出现时 我有一个 State 变量初始化为 UIScreen main bounds width 的值 但当设备方向改变时 该值不会改变 当用户更改设备方向时 我需要重新绘制
  • 核心数据迁移后出现 NSRangeException

    在向我的应用程序添加新的核心数据模型版本后 我执行了轻量级迁移 显然成功了 迁移的文件加载正常 但在第一次尝试通过特定关系访问属性时 应用程序崩溃并显示NSRangeException NSArrayM objectAtIndex inde
  • 核心数据:重命名属性,而不会导致用户及其当前数据出现问题

    我只想为我的应用程序的新版本重命名并在表上添加属性 并且如果应用程序已安装 我想保留数据 首先我只是设置选项 let options NSMigratePersistentStoresAutomaticallyOption true NSI
  • 是否可以恢复我删除的 xcdatamodel 文件?

    我愚蠢地删除了它 我删除了其中包含不同版本的文件 我可以恢复到旧快照 但从那时起我就已经完成了工作 是否可以恢复到我的存档之一 或者我只能从那里提交 共享 我仍然可以运行该应用程序 但我需要对数据库进行更改 Xcode 将 xcdatamo

随机推荐

  • 在 R 包中包含 Shiny 应用程序:传输输入参数

    我正在尝试将 Shiny 应用程序作为 R 包的一部分运行 我按照 Dean Attali 网站上列出的说明进行操作 https deanattali com 2015 04 21 r package shiny app 如该网站所示 我在
  • postgresql 中的字符串文字和转义字符

    尝试将转义字符插入表中会导致警告 例如 create table EscapeTest text varchar 50 insert into EscapeTest text values This is the first part n
  • Firebase Storage getDownloadURL 背后的目的是什么

    根据这些docs 我明白一旦我们在存储中拥有了 firebase 路径 我们就可以通过调用来获取下载网址getDownloadUrl 在这条路径上的ref 我的问题是所有文档都建议首先获取下载网址 然后根据这些图像下载文件数据 但是我们可以
  • Ionic 找不到模块“../providers/auth-service/auth-service”

    我正在尝试在 ionic Angular 3 3 0 中创建登录 注册 我收到错误无法找到模块 providers auth service auth service 在login ts 文件中 请帮忙 auth service ts im
  • 选择具有给定 id 的元素的更快方法

    我有个问题 假设我们有以下 html 标签 div I am a div div 他的div存在于dom上 它不是由javascript生成的 如果我想在 javascript 中多次使用这个 div 哪种方法更好 将其存储在如下变量中 v
  • 在 R 中哪些包可以快速加载更大的数据

    在 R 中 数据通常加载到 RAM 中 是否有任何软件包可以将数据加载到磁盘而不是 RAM 中 查看bigmemory包 以及相关包 例如bigtabulate bigalgebra biganalytics 和更多 还有ff 尽管我发现它
  • 如何沿列迭代向下相乘?

    我在这件事上遇到了困难 不知道为什么 也许现在已经很晚了 我在 pandas 中有一个数据框 如下所示 1 10 2 11 3 20 4 5 5 10 我想计算每一行上面每一行的被乘数 例如 在第 3 行 我想计算 10 11 20 即 2
  • 如何使用 Selenium WebDriver 和 Java 查找损坏的链接

    我想验证网站上的损坏链接 并且我正在使用以下代码 public static int invalidLink String currentLink String temp public static void main String arg
  • 如何禁用文本选择突出显示

    对于作用类似于按钮的锚点 例如 此 Stack Overflow 页面侧边栏上标题为问题 Tags and Users 或选项卡 是否有 CSS 标准方法可以在用户意外选择文本时禁用突出显示效果 我意识到这可以用 JavaScript 来完
  • 如何使用 C# 从另一个表单按下按钮?

    我有两种形式 Form1 进行屏幕截图 Form2 有 2 个按钮来操作 form1 创建的屏幕截图 Form1 还有一个 隐藏 按钮 其中包含保存屏幕截图的方法 我的问题 如何从form2中单击form1的按钮 和 如何检查 form1
  • 如何编写正则表达式来仅匹配数字、字母和破折号?

    我需要一个只接受以下内容的表达式 数字 普通字母 无特殊字符 空格也是不允许的 例子 正则表达式应该匹配 this is quite alright 不应该匹配 this is not so lright 您可以使用 A Za z0 9 这
  • Excel - 将一个范围内的数据匹配到另一个范围内,并从匹配数据右侧的单元格中获取值

    我不太擅长 Excel 公式 我正在尝试弄清楚如何首先检查列中是否存在单元格值 如果存在 则获取下一个单元格的值 具体来说 我有一系列细胞 从 B31 到 B39 我想要做的是查看这些值是否出现在单元格 F3 到 F12 中 如果出现 则将
  • WebGL等角投影

    好吧 这里要疯了 我正在做一些 WebGL 我正在尝试制作一个等距立方体 我不想使用 Three js 我想首先了解我的代码出了什么问题 我一直在研究 我能找到的唯一教程似乎是针对 OpenGL 的 无论如何 这是我的drawScene函数
  • 查询缓存不起作用

    我已经打开query cache 并为其分配内存 query cache limit 1048576 query cache min res unit 4096 query cache size 16777216 query cache t
  • 如何将多个 actionCreators 包装到一个 props 中?

    我收到以下错误 Uncaught TypeError this props dispatch is not a function 这是我的组件 import React from react import PropTypes from pr
  • 如何更改站点的 IIS Express 端口

    我想在从 Visual Studio 进行调试时更改网站运行的端口号 我正在使用 Visual Studio 2012 并且我正在为我的项目使用 ASP NET MVC 4 我想更改端口 随机端口或固定端口任何人都可以工作 只需更改端口即可
  • Django 使用 AJAX 动态 HTML 表刷新

    首先 我是 Django 新手 并且对 AJAX 和 jQuery 几乎完全不熟悉 我在本地开发 所以我试图实现一个 HTML 表 在 AJAX 的帮助下每 X 秒动态刷新一次 没有页面刷新 但我似乎无法让我的代码工作 我已经使用过这个问题
  • git:查找哪个合并将提交到当前分支

    我有许多分支 它们会定期合并 即我们可以将 A 合并到 B 中 然后将 B 合并到 C 中 然后将 A 合并到 D 中 然后将 D 合并到 C 中 等等 假设我有一个提交 X 我知道它最初是在A中引入的 然后以某种方式合并到C中 我在执行g
  • jQuery,按属性值选择,添加新属性

    我的 HTML 中有一个锚点 它有一个带有值的页面属性 因此 每次单击它时 我都会在 js 中使用页面属性值 现在我想设置一个带有背景颜色的样式属性来显示某个元素被选中 因此 我必须按页面属性选择元素 并向 a 元素添加一个带有值的新属性
  • 在 @FetchRequest 中输入一个动态值,以从 SwiftUI 中的核心数据中获取单个实体

    我在这里看到了相同类型的错误 但使用了不同类型的代码 所以我认为最好就此上下文提出一个新问题 我试图通过尝试传递一个字符串变量 用作查找该实体的键 来从核心数据中 查找特定实体 title into FetchRequest 这是我使用过的