我正在尝试将一些值传递给一个接受UInt16值作为参数的函数。
我通过Parse查询数据库来接收值。查询返回AnyObject类型的对象(我知道它是一个整数)!并且为了将它传递给函数,我必须将其转换为UInt16。但是,似乎Swift不喜欢这样,说UInt16不符合AnyObject协议。
我可以转发类型AnyObject!成功地使用Int,但是我无法将该Int转换为UInt16。
有人知道如何解决这个问题吗?
答案 0 :(得分:6)
您可以使用AnyObject
类型强制转换操作符从Int
转换为as
,但要向下转换为不同的数字类型,您需要使用目标类型的初始值设定项,即:
var o: AnyObject = 1
var n: Int = o as Int
var u: UInt8 = UInt8(n)
答案 1 :(得分:1)
您需要做的就是添加一个!在转换期间之后。
例如,
var amount : Int = user["Amount"] as! Int
我希望它有所帮助...