如何检查“任何”types的数组,如果它是空的或不?
我使用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" } )]
您需要将data[0]
转换为types为[String: Any]
的字典:
if (data[0] as? [String: Any])?.isEmpty ?? true { ... }
或者更好(因为使用.first
over [0]
更安全) :
if let dictionary = data.first as? [String: Any], dictionary.isEmpty { ... }