我将我的项目升级到Swift 1.2(Xcode 6.3)并得到了错误。
由于我的项目基于Cordova,我有很多JSON解析。
从Javascript我尝试抓住以下对象:
{
search: searchString,
limit: 50
}
代码段:
func getJsonArgs(command: CDVInvokedUrlCommand, name:String) -> AnyObject{
var obj:AnyObject = command.arguments[0] as AnyObject!
var theData:AnyObject = obj[name] as AnyObject!
return theData
}
var obj:AnyObject = self.getJsonArgs(command, name: "getContacts")
var search:String = obj["search"] as AnyObject! as? String ?? "" // OK
var limit:Int = obj["limit"] as? Int ?? 0 // Cast from [SKNode]! to unrelated type 'Int' always fails
如何才能正确且安全地获取search
和limit
值?
在search
案例中,为什么我需要第一个贬低[SKNode]
到AnyObject
并且仅在String
之后?这看起来很乱。
谢谢,