我尝试在中引用[Item]
列表,@EnvironmentObject
但是在中访问它时SwiftUI
List
出现错误。我不明白的是,按照Apple的Landmark教程不会弹出此错误。
据我所知,[Item]
列表可以正确加载,因为我可以打印出来并执行其他功能。当将它用于A时,它只会出错。SwiftUI
List
是否有我遗漏的东西?
ItemHome.swift:
struct ItemHome : View {
@EnvironmentObject var dataBank: DataBank
var body: some View {
List {
ForEach(dataBank.itemList) { item in
Text("\(item.name)") // Type of expression is ambiguous without more context
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
支持代码如下:
物品结构:
struct Item {
var id: Int
var uid: String
var company: String
var item_class: String
var name: String
var stock: Int
var average_cost: Decimal
var otc_price: Decimal …
Run Code Online (Sandbox Code Playgroud) 我在我的资产中创建了一个名为“json”的文件夹,我从查找器中拖放了一个名为 code.json 的文件。现在我想打开该文件但是
Bundle.main.path(forResource: "code", ofType: "json", inDirectory: "json")
Run Code Online (Sandbox Code Playgroud)
刚刚返回nil
。
我还尝试将其放入没有子文件夹的资产中并使用以下方式
Bundle.main.path(forResource: "code", ofType: "json")
Run Code Online (Sandbox Code Playgroud)
得到相同的结果。
谁能帮我?我究竟做错了什么?
由于某些奇怪的原因,我试图使用NSCoder进行数据存储,它在我尝试使用.encode
关键字的地方向我显示了此错误,请帮助我了解我在做什么错。
let encoder = PropertyListEncoder()
do {
let data = try encoder.encode(self.itemArray) // <--- showing error here
} catch {
}
Run Code Online (Sandbox Code Playgroud)