我试着找了几个小时的答案,但没有找到一个足够接近我的情况的答案,无法将其翻译过来。我正在尝试创建一个程序来从.json文件中拉出一个数组并读取它,这样我就可以过滤答案。感谢你能给我的任何见解或帮助。
import SwiftUI
import Foundation
struct Spot{
enum Restriction: String {
case breakfast, lunch, dinner
}
let restrictions: Set<Restriction>
}
extension Spot {
init?(json: [String: Any]) {
guard let restrictionsJSON = json["menu"] as? [String]
else {
return nil
}
var restrictions: Set<Restriction> = []
for string in restrictionsJSON {
guard let restriction = Restriction(rawValue: string) else {
return nil
}
restrictions.insert(restriction)
}
self.restrictions = restrictions
}
}
struct Filters: View {
let filtersort = Spot.Restriction.self
@State var showGreeting = false
var body: some View {
Form {
Toggle(isOn: $showGreeting){
Text("Show Welcome Message")
}.padding()
if showGreeting {
Text("\(filtersort)")
}
}
}
}`
下面是我更新后的代码,其中包含与以前相同的错误消息。
import SwiftUI
import Foundation
struct Spot: Decodable{
var restrictions: [String: String]
enum Restriction: String, CodingKey {
case timeofyear
}
}
extension Spot {
init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: Restriction.self)
_ = try values.decode(Double.self, forKey: .timeofyear)
}
}
struct Filters: View {
let filtersort = Spot.Restriction.timeofyear
@State var showGreeting = false
var body: some View {
Form {
Toggle(isOn: $showGreeting){
Text("Show Welcome Message")
}.padding()
if showGreeting {
Text("\(filtersort)") //Argument type 'Spot.Restriction' does not conform to expected type '_FormatSpecifiable'
}
}
}
}发布于 2020-03-21 04:55:57
Xcode11.4提供了所需的修复程序。
Text(filtersort.rawValue)https://stackoverflow.com/questions/60779187
复制相似问题