在Swift中检查isKindOfClass到Dictionary

sel*_*lva 0 dictionary ios swift

我有一个字典对象数组.在for循环中,我想检查数组中的每个对象是否是KindOfClass字典.

var xxxStatus = jsonResponse as Dictionary<String, AnyObject>
var applications = xxxStatus["status"] as NSArray!

for application in applications {
   if  application.isKindOfClass(Dictionary) {
        //Im getting this error in above if statmet "Type Dictionary<Type, Value> does not confirm to protocol 'AnyObject'"          
   }
}
Run Code Online (Sandbox Code Playgroud)

如何使用isKindOfClass进行字典?是否需要检查或我正在做的方式是错误的?

谢谢!

sbo*_*oth 6

这可以通过多种方式实现.如果您知道可以使用的键和值类型,请执行is以下操作:

for application in applications {
    if application is Dictionary<String, AnyObject> {
      // Do something
    }
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用条件赋值:

for application in applications {
    if let applicationDictionary = application as [String: AnyObject] {
      // Do something
    }
}
Run Code Online (Sandbox Code Playgroud)

或者,如果您想确保它是NSDictionary您可以使用的实例application.isKindOfClass(NSDictionary).