如何在SwiftUI的PreviewProvider中编码示例模型对象?

时间:2019-07-13 20:46:49

标签: core-data swiftui

我有一些代码,但是我没有全部。我了解有关SwiftUI和Core Data的代码基础,但是我不知道如何在以下代码中编写redFox模型示例。

我尝试自己编写redFox编码,但未能这样做。

import SwiftUI

struct AnimalCell : View
{
    let model: AnimalCellModel

    var body: some View
    {
        HStack
        {
            Text(model.image)
            Text(model.commonName)
            Text(model.familyName)
            Text(model.scientificName)
        }
    }
}

#if DEBUG
public enum AnimalCellPreviews : PreviewProvider
{
    public static var previews: some View
    {
        AnimalCell(model: .redFox)
    }
}
#endif

我应该看到预览,但是因为代码不完整而看不到。

2 个答案:

答案 0 :(得分:0)

不确定这是否是您要的内容,但标准的预览代码如下:

#if DEBUG
struct ContentView_Previews : PreviewProvider {

    static var previews: some View {
        ContentView()
    }
}
#endif

因此您的情况应该是:

#if DEBUG
struct AnimalCell_Previews : PreviewProvider {

    static var previews: some View {
        AnimalCell(model: RedFox())
    }
}
#endif

假设您具有RedFox结构或类

答案 1 :(得分:0)

您需要将 redFox 作为静态属性添加到 AnimalCellModel 中:

extension AnimalCellModel {
    static var redFox = AnimalCellModel(...)
}

然后您可以将它与示例中所示的 .redFox 语法一起使用。