报错:无法将JSONArray转为DataToValidate,原因是什么?
问题原因及解决方法
你直接传入了
JSONArray类型的实例,但validate方法要求第一个参数是DataToValidate枚举类型,而非JSONArray本身。虽说DataToValidate里包含array(JSONArray)这个case,但Swift不会自动将JSONArray隐式转换为对应的枚举case,必须手动包装成枚举实例。修正后的调用代码:
let result = try validate(.array(JSONArray([true])), schema: schema)
- 补充说明:Swift枚举的case是枚举的成员,case关联的类型(比如这里的
JSONArray)和枚举本身属于不同类型。必须通过.array(你的JSONArray实例)的形式,把JSONArray包装成DataToValidate枚举对象,才能匹配方法的参数类型要求。
内容的提问来源于stack exchange,提问作者user19549035
相关产品推荐
相关产品推荐

