我正在使用 socket.io Swift 库。使用以下代码行,
socket.on("info") { (dataArray, socketAck) -> Void in
let user = dataArray[0] as? User
print(user._id)
}
dataArray[0]
是一个有效对象,但 user
在转换 之后似乎是nil。
因为 dataArray[0]
作为 AnyObject
返回,
我如何将 AnyObject
转换为 User
对象?或者以某种方式设法用不同的方法做我想做的事?
最佳答案
从这条线之后
let user = dataArray[0] as? User
你在 user
中有一个 nil
值,这意味着你在 的第一个位置没有
.User
值数据数组
由于 dataArray
来自服务器(我猜)它可能包含 User
的序列化版本。
现在我们真的需要知道 dataArray[0] 到底是什么。然而……
如果 dataArray[0] 包含 NSData
在这种情况下试试这个
let json = JSON(dataArray[0] as! NSData)
let user = User(json:json)
关于swift - 将 AnyObject 转换为特定类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38375567/