SwiftUI Preview 不适用于 FetchRequest 和 Init

2024-02-14

我遇到了 SwiftUI Preview 有时无法工作的问题(但没有给我任何错误,只是一个空白的画布)。 我已经缩小了问题范围 - 当我将 fetchRequest 与 init 一起使用时它不起作用。但我不知道下一步该做什么。

预览适用于以下代码:

import SwiftUI

struct ListView: View {

    var fetchRequest = FetchRequest<NPBooking>(entity: NPBooking.entity(), sortDescriptors: [])
    var bookings: FetchedResults<NPBooking> { fetchRequest.wrappedValue }

    var body: some View {
        ForEach(bookings, id: \.self) { booking in
            Text("item")
        }
    }

}

struct ListView_Previews: PreviewProvider {
    static var previews: some View {
        let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
        //Test data
        let testBooking = NPBooking.init(context: context)
        testBooking.date = Date()
        testBooking.name = "name"
        return ListView().environment(\.managedObjectContext, context)
    }
}

预览不适用于以下代码:

import SwiftUI

struct ListView: View {

    var fetchRequest: FetchRequest<NPBooking>
    var bookings: FetchedResults<NPBooking> { fetchRequest.wrappedValue }

    var body: some View {
        ForEach(bookings, id: \.self) { booking in
            Text("item")
        }
    }

    init(startDateOfMonth: Date) {
        fetchRequest = FetchRequest<NPBooking>(entity: NPBooking.entity(), sortDescriptors: [
            NSSortDescriptor(keyPath: \NPBooking.date, ascending: true)
        ], predicate: NSPredicate(format: "date >= %@", startDateOfMonth as NSDate))
    }

}

struct ListView_Previews: PreviewProvider {
    static var previews: some View {
        let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
        //Test data
        let testBooking = NPBooking.init(context: context)
        testBooking.date = Date()
        testBooking.name = "name"
        return ListView(startDateOfMonth: Date()).environment(\.managedObjectContext, context)
    }
}

我想我需要为此 init 或 fetchRequest 或两者添加一些测试数据?尝试了一些东西,但我无法使其发挥作用。


如果您将预览中的呼叫更改为

 ListView(startDateOfMonth: Date().addingTimeInterval(-86400 * 30)).environment(\.managedObjectContext, context)

您的 startDateOfMonth 变量通过以下行设置为今天之前的 30 天

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

SwiftUI Preview 不适用于 FetchRequest 和 Init 的相关文章

  • 在故事板中的视图控制器之间滑动手势

    我希望添加左右滑动手势来在视图控制器之间进行更改 这是否可能 并且有没有一种简单的方法可以在故事板中执行此操作 谢谢 故事板允许您在两个视图控制器之间设置 Segues 我想说首先在视图之间附加 Segues 给它一个标识符 然后使用类似的
  • 如何测试 UITextField 是否为零?

    我正在尝试制作我的应用程序的一部分 如果该人不更改我的 UITextField 中的空白文本 那么他 她将无法继续下一步 基本上 我想测试 UITextField 的 nil 文本 我已经使用了 if text 方法 但是如果用户单击 UI
  • 我可以/如何用 RC3 替换我的 KVO 东西?

    我正在尝试将一个使用 Facebook 的 KVOController 的 objc 应用程序移植到 Swift 我被鼓励去看看RC3 https github com ReactiveCocoa ReactiveCocoa作为一种替代且更
  • 在 swrevealcontroller 之前实现登录屏幕

    我刚刚开始学习 IOS 开发 我已经按照给定的在线教程成功实现了 SWRevealViewController 一切都按预期工作 然后 我决定添加一个登录屏幕 这将是应用程序运行时用户看到的第一个页面 我采取的步骤如下 将 UIViewCo
  • 仅将 UIImage 移动到另一个 UIImage 内部

    I have an UIImage which is shown in an UIImageView I also have another image in an UIImageView which lays above the firs
  • 如果我的消耗性 IAP 被退款,我会收到任何通知吗?

    我有 Apple iOS 应用程序 其中有很多消耗性 IAP 我非常担心用户购买IAP并使用一段时间后向Apple客服投诉并获得退款 如果我的消耗品 IAP 退款 我会收到任何通知吗 我如何注意到这一点并阻止用户使用 IAP None
  • 无法在 iOS 企业应用程序中连接到 example.com

    我面临着一个严重的问题 我正在尝试使企业应用程序上线 通过使用 BetaBuilder 我按照以下步骤操作 myApp ipa manifest plist index html 清单 plist
  • Xcode 无法找到 strip-frameworks.sh 目录

    我最近将 Xcode 更新到版本 7 1 其中包括 Swift 2 1 我安装了 Swift 2 1 没有遇到任何问题 在尝试运行我的项目后 我意识到我需要获取最新版本的 Realm 因为之前的版本不支持 Swift 2 1 我删除了旧框架
  • 径向渐变绘制性能 - OpenGL-ES 可以改进吗?

    我正在开发一个图像处理应用程序 它将径向渐变叠加在从照片库加载的图像上 在屏幕上 我有一个滑块可以动态地增大 减小径向渐变的半径 我发现模拟器上的性能很好 但在 iPhone 3G 或 3GS 上就很糟糕了much移动滑块时重绘速度较慢 我
  • 获取对 iOS 应用程序中最顶层视图/窗口的引用

    我正在创建一个可重用的框架 用于在 iOS 应用程序中显示通知 我希望将通知视图添加到应用程序中其他所有内容的顶部 有点像 UIAlertView 当我初始化监听 NSNotification 事件并添加视图作为响应的管理器时 我需要获取对
  • Objective-C中如何使继承的类能够看到父类的隐藏方法[重复]

    这个问题在这里已经有答案了 我有两个类 Class1 和 Class2 第二个类继承自第一个类 我需要重写 Class1 的 update 方法来实现我的目标 继承方法中 update方法的改变是在代码中间进行的 所以我不能使用 超级更新
  • 将子视图控制器的视图添加到父视图控制器的子视图

    我想添加一个表视图控制器作为容器视图控制器的子视图控制器 如下所示 根据苹果公司的查看控制器编程指南 http developer apple com library ios featuredarticles ViewControllerP
  • Swift 闭包作为 AnyObject

    我尝试使用这个方法 class addMethod 在 Obj c 中使用如下 class addMethod self class selector eventHandler imp implementationWithBlock han
  • Swift 3 中是否提供内置内部函数?

    我可以在 Xcode 自动完成弹出窗口中看到各种内置函数 如 builtin popount builtin clz 等 我不确定这些是从哪里获取的 单击命令不会导致快速定义或任何文档 Swift 3 中是否有 builtin 或等效的内部
  • 如何自动缩放mapView以显示叠加层

    我可以在 mapView 上绘制多边形 但是我需要找到多边形并手动缩放它 有没有办法自动执行此过程 例如调整中心多边形 我浏览过互联网并阅读了一些相关文章 其中大多数都是基于折线和点的 任何形式的帮助将不胜感激 因为我正在寻找解决方案一段时
  • 如何在 UICollectionView 的节标题中动态添加标签和按钮?

    请帮助我如何水平添加标签和水平添加类似的按钮 但每个按钮应像另一个部分一样在每个标签的下方对齐 这应该在 UICollectionView 的标题中动态发生 因为标签和按钮的数量根据我的数据 我想制作一种 Excel 类型的布局 并在标题中
  • ViewWillAppear 没有被 UISplitViewController 调用

    背景和目标 我有一个基于 UISplitViewController 的 iPad 应用程序 到目前为止它支持 4 个方向 但现在我想将其锁定为仅横向 我变了shouldAutorotateToInterfaceOrientation左视图
  • 使用 NSURLSessionDataTask 显示文件下载进度

    我想显示特定文件的文件下载进度 收到了多少字节 它与 NSURLSessionDownloadTask 配合得很好 我的问题是我想用 NSURLSessionDataTask 实现同样的效果 以下是将文件接收到 NSData 并写入文档文件
  • 将带有地理位置数据的照片保存到照片库 Swift 3

    如何使用地理位置元数据将照片保存到照片库 我已请求 并允许 应用程序访问用户位置 private func allowAccessToUserLocation locationManager CLLocationManager locati
  • 图像目录中矢量 pdf 的渲染模式设置为模板,但 UIImageView 不会在自定义单元格中对图像进行着色

    我已将所有图像文件迁移到资产目录中 它们都是大小为 1x 的 pdf 向量 它们被设置为呈现为模板 它们的大小和颜色在任何地方都表现得很好 但是有一个来自 xib 的自定义 TableView Cell 我有 6 个 UIImageView

随机推荐

  • 运行应用程序中的 Grails 3.0 静态 html

    之前曾就 grails 2 3 4 提出过类似的问题 我觉得很奇怪 我找不到一种方法来做到这一点 因为这对我来说似乎是一个标准用例 我只是想在运行 grails run app 时提供 html 页面 包括它们链接的 css 和 js An
  • 使用 asyncio 并行化生成器

    我的应用程序从慢速 I O 源读取数据 进行一些处理 然后将其写入本地文件 我已经用生成器实现了这个 如下所示 import time def io task x print requesting data for input s x ti
  • 您能否返回适用于任何可能的错误类型的结果?

    我想使用多个库 每个库都有自己的错误类型 我并不真正关心每个特定板条箱的错误类型 我想使用 习惯用法是使用那些返回 a 的 crate 的方法Result type 我也不想解开这些值 如果遇到错误 这会导致恐慌 我可能只是想使用传播不同的
  • 光滑的旋转木马 - 强制幻灯片具有相同的高度

    我在使用 Slick carousel JS 插件时遇到了多个问题幻灯片显示它们具有不同的高度 我需要幻灯片相同高度 但是对于 CSS flex box 它不起作用 因为幻灯片具有冲突的 CSS 定义 另外 我在论坛和网络上没有找到任何有用
  • 单例类与具有静态成员的类

    尽管关于该主题的主题有很多 但我仍然不清楚何时选择哪种方法 我希望通过讨论一个具体的例子 我最终能 明白 注意 我这里的语言是 Cocoa 尽管一般问题不是特定于语言的 我有一个类 TaskQueue 我想用它来 从我的代码中的任何位置访问
  • 在 Java 8 中使用两个具有相同签名的默认方法实现两个接口

    假设我有两个接口 public interface I1 default String getGreeting return Good Morning public interface I2 default String getGreeti
  • 如何将 jPCT 与 Vuforia SDK 结合使用?

    有人可以概述一下混合 Jpct 和 Qualcomm Vuforia SDK 的情况吗 将 Java 渲染引擎与 Vuforia 结合使用是个好主意吗 基本上 QCAR 的全部工作就是计算变形的预定义目标图像的变换矩阵 它为您提供了两个重要
  • 新的 Angular2 路由器配置

    回到使用已弃用的路由器时 我能够执行 router config 并传入一个对象 事实是 路由器本身在应用程序启动后进行了一些配置 该对象具有相同的 模板 就像我使用了 RouterConfig 一样 我正在寻找的是是否有一种方法可以像这样
  • POST 403 Forbidden for Chrome 扩展(后端为 Django)

    我以前从未开发过 Chrome 扩展程序 目前正在为我的 Django 应用程序开发 Chrome 扩展程序 具有链接提交功能 当我尝试使用扩展程序提交链接时 出现以下错误 POST http 127 0 0 1 8000 add link
  • 找到未使用的 Javascript 函数?

    我的应用程序中有大约 100 个 js 文件 我需要从这些文件中找到未使用的函数 哪个编辑器或工具可以帮助我 看看JSLint http jslint com help html代码质量工具
  • 如何在 Windows Phone 中对 LongListSelector 进行排序

    我希望能够按升序或降序对绑定到 LongListSelector 的数据进行排序 我无法将排序后的数据绑定到我的 LongListSelector 最初 我的解决方案没有尝试实现排序 而是有效的 但我相信在涉及排序时我遗漏了一些东西 我也尝
  • Google Play Android .apk 上传“无法运行 aapt dump badging”

    自从我上次将应用程序上传到 Google Play 开发者控制台以来已经快一年了 这是我已经签名并压缩对齐的 Cordova 应用程序 按照我过去成功使用的相同流程 我现在收到以下错误 上传失败 无法使用 aapt dump badging
  • 使用 POST 在 R 中抓取动态表

    我正在努力刮这张桌子 http myfwc com wildlifehabitats managed alligator harvest data export 使用 R 到目前为止 我使用下面的代码只得到了 27 行 我想取回所有条目 并
  • 在 iOS 上通过 上传存储在云服务上的文件 0 字节

    我无法弄清楚为什么某些从 iOS 上传到我们服务器的内容会导致空文件 上传页面是一个简单的表单 使用 POST 和 enctype 作为 multipart form data 该问题似乎仅在用户执行以下操作时才会出现 正在使用 iOS 尝
  • 已分析与未分析:存储大小

    我最近开始使用 ElasticSearch 2 据我了解analyzed vs 未分析在映射中 not analyzed 在存储中应该更好 https www elastic co blog elasticsearch storage th
  • 在Android上加载依赖的共享库

    我正在移植大量本机代码和几个相互依赖的库 加载代码失败 因为 Android 链接器仅查找依赖项 system lib 并且不在应用程序安装目录中 data data com packagename nnn lib 作为第一个解决方法 我使
  • Chrome 显示 Lottie 动画模糊

    我遇到了缩放 Lottie 动画的问题 Chrome 模糊了动画 当动画缩放时 这一点尤其明显 在我的示例中 原始动画的尺寸为 842x596px 渲染效果越小 效果越差 如果您想在 Chrome 浏览器中重现它 这里是示例代码 lotti
  • 为带有条件编译的产品实现工厂模式

    我想以一种允许我在不引入类型依赖的情况下编译代码的方式实现工厂 或其他模式 enum CarType BMW PORSCHE MERC class CarFactory public static Car create CarType ty
  • 在 Google 电子表格中复制/粘贴数据验证

    我觉得自己有点傻 无法弄清楚这一点 这是我设置的数据验证 单元格范围 Journal J2 标准 从范围中列出 Journal W2 X2 细胞范围 Journal M2 标准 从范围中列出 Journal Y2 AA2 这在我的第一排很棒
  • SwiftUI Preview 不适用于 FetchRequest 和 Init

    我遇到了 SwiftUI Preview 有时无法工作的问题 但没有给我任何错误 只是一个空白的画布 我已经缩小了问题范围 当我将 fetchRequest 与 init 一起使用时它不起作用 但我不知道下一步该做什么 预览适用于以下代码