如何从AnyObject转发到UInt16?

Wil*_*ack 3 swift

我正在尝试将一些值传递给一个接受UInt16值作为参数的函数.

我通过Parse查询数据库来接收值.查询返回AnyObject类型的对象(我知道它是一个整数)!为了将它传递给函数,我必须将其转换为UInt16.但是,似乎Swift不喜欢这样,说UInt16不符合AnyObject协议.

我可以低估AnyObject的类型!成功的Int,但我不能将该Int转换为UInt16.

有谁知道如何解决这个问题?

myt*_*thz 6

您可以从铸造AnyObjectIntas类型转换操作符,而是向下转型成你需要使用目标类型的初始化,即不同的数字类型:

var o: AnyObject = 1
var n: Int = o as Int
var u: UInt8 = UInt8(n)
Run Code Online (Sandbox Code Playgroud)