如果它是空的,那么如何检查'Any'类型的数组?

时间:2017-09-21 10:14:19

标签: ios swift

我正在使用socket.io来获取数据,现在它返回一个'Any'对象的数组

代码

socket.on("listeningOnSomething") { data, ack in
   // data is an array of Any Type
}

我试着做

socket.on("listeningOnSomething") { data, ack in
       if (data[0].isEmpty?) { // Keep giving me error that 'Any' object has no isEmpty? object

       }
}

数据的结果

它是空的

[()]

如果它不是空的

[(

{
   name: "batman",
   age: "47"
}
)]

1 个答案:

答案 0 :(得分:4)

您需要将data[0]转换为[String: Any]类型的字典:

if (data[0] as? [String: Any])?.isEmpty ?? true {
  ...
}

或更好(由于.first使用[0]而更安全

if let dictionary = data.first as? [String: Any], dictionary.isEmpty {
  ...
}