F.D*_*Duh 2 json binary-operators ios swift
我有这个var json : [[String : Any]] = [[:]]包含 JSON 响应如下:
{
"id": "1",
"name": "Apple",
"category_name": "Fruits"
},
{
"id": "2",
"name": "Black shirt",
"category_name": "Fashion"
},
{
"id": "3",
"name": "iPad",
"category_name": "Gadgets"
}
Run Code Online (Sandbox Code Playgroud)
我写了一个枚举:
enum : Int {
case fruits = 0, fashion, gadgets
}
var data = [Categories: [[String: Any]]]()
Run Code Online (Sandbox Code Playgroud)
然后我有这个方法来对类别进行排序:
func sortData() {
data[.fruits] = self.json.filter({ $0["category_name"] == "Fruits" })
data[.fashion] = self.json.filter({ $0["category_name"] == "Fashion" })
data[.gadgets] = self.json.filter({ $0["category_name"] == "Gadgets" })
}
Run Code Online (Sandbox Code Playgroud)
之后我收到这样的错误
二元运算符“
==”不能应用于“Any?”和“String”类型的操作数
请告诉我如何解决这个问题?
您应该安全地将左侧的值转换为String,如下所示:
data[.fruits] = self.json.filter({ ($0["category_name"] as? String) == "Fruits" })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9435 次 |
| 最近记录: |