微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift 3中的type(of :)似乎不适用于类型检查

参见英文答案 > Swift dynamic type checking for structs?                                    2个
Swift 3中的type(of:x)似乎不适用于is类型检查

它只是给出了此错误消息:

Consecutive statements on a line must be separated by ‘;’

代码示例:

class Test : UIViewController {}

let test = test()
let test2 = test()
let isEqual = test2 is type(of: test) // this does not compile

这有什么不对?
如何在Swift 3中进行这样的动态类型检查?

解决方法

在这个特定的背景下:

class Test : UIViewController {}

class Test1 : UIViewController {}

let test = test()
let test2 = Test1()

let f = test2.isKind(of: test2.classForCoder)

print(f)

Output: true

这可能是检查类型的另一个想法

除此之外

let q = type(of: test) == type(of: test)

将返回true,但仅当它是同一个类而不是子类时

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐