首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >参数类型“Spot.Restriction.Type”不符合预期的类型“_FormatSpecifiable”

参数类型“Spot.Restriction.Type”不符合预期的类型“_FormatSpecifiable”
EN

Stack Overflow用户
提问于 2020-03-21 01:49:19
回答 1查看 500关注 0票数 1

我试着找了几个小时的答案,但没有找到一个足够接近我的情况的答案,无法将其翻译过来。我正在尝试创建一个程序来从.json文件中拉出一个数组并读取它,这样我就可以过滤答案。感谢你能给我的任何见解或帮助。

代码语言:javascript
复制
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)")

            }
        }
    }
}

`

下面是我更新后的代码,其中包含与以前相同的错误消息。

代码语言:javascript
复制
    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'

            }
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2020-03-21 04:55:57

Xcode11.4提供了所需的修复程序。

代码语言:javascript
复制
Text(filtersort.rawValue)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60779187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档