作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试将一些值传递给接受 UInt16 值作为参数的函数。
我通过 Parse 查询数据库来接收值。查询返回一个 AnyObject 类型的对象(我知道它是一个整数)!为了将它传递给函数,我必须将它转换为 UInt16。不过Swift好像不喜欢这样,说UInt16不符合AnyObject协议(protocol)。
我可以向下转换 AnyObject 类型!成功转换为 Int,但我无法将该 Int 转换为 UInt16。
有人知道怎么解决吗?
最佳答案
您可以使用 as
类型转换运算符将 AnyObject
转换为 Int
,但是要向下转换为不同的数字类型,您需要使用目标类型的初始化器,即:
var o: AnyObject = 1
var n: Int = o as Int
var u: UInt8 = UInt8(n)
关于swift - 如何从 AnyObject 向下转换为 UInt16?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24077954/
我是一名优秀的程序员,十分优秀!