ios - SwiftUI 预览不显示(无错误)

标签 ios swift xcode core-data swiftui

我有以下 TransactionsListView.swift 的 PreviewProvider 代码:

struct TransactionsListView_Previews: PreviewProvider {

    static var previews: some View {
        let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
        let transaction = NPTransaction(context: context)
        transaction.date = Date()
        transaction.income = true
        transaction.type = "morning"
        transaction.value = 1200
        transaction.notes = "notes"
        return TransactionsListView(filter: true, startDate: Date()).environment(\.managedObjectContext, context)
    }

}

预览未显示。有提示Build Succeeded,没有错误信息,但是Canvas是空的。我做错了什么?

P.s.我正在使用 CoreData,并且有 1 个名为 NPTransaction 的实体,它有 5 个属性:日期、收入、注释、类型、值。

最佳答案

由于 Xcode 没有给我任何错误,所以不容易猜测。我需要在预览中将addingTimeInterval 添加到Date() 中。工作代码:

结构 TransactionsListView_Previews:PreviewProvider {

static var previews: some View {
    let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
    let transaction = NPTransaction(context: context)
    transaction.date = Date()
    transaction.income = true
    transaction.type = "morning"
    transaction.value = 1200
    transaction.notes = "notes"
    return TransactionsListView(filter: true, startDate: Date().addingTimeInterval(-86400 * 30)).environment(\.managedObjectContext, context)
}

}

感谢@CranialDev,他在这里帮助了我:https://stackoverflow.com/a/59970329/12315994

关于ios - SwiftUI 预览不显示(无错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59675890/

相关文章:

ios - 当前选择的标签栏为标签时,如何滚动到 UITableViewController 的顶部? ( swift )

ios - 隐藏行的当前行委托(delegate) UITableView

ios - AudioKit AKNodeRecorder 创建空的音频文件

ios - AVPlayer 不从后端播放 URL

ios - GCKDiscoveryManager 未创建 Chromecast 设备 iOS SDK

swift - URLSession "hostname not found",但我在浏览器中看到它

swift - ARKit:如何在 Storyboard 中向 ARView 添加按钮?

javascript - 是否有可接受的跨平台方法在基于触摸的设备上以标准 Web 形式显示数字小键盘?

ios - 在 Swift App 中从 PubNub didReceiveMessage 函数检索图像时遇到问题

Swift:这如何创建二叉树?