我是 Swift 的新手,正在尝试学习关键字“is”和“as”的概念。我理解“is”是类型检查运算符(检查变量是否属于某个子类),而“as”是类型转换运算符(将变量向下转换为其子类)。
但是,我的问题是这两个关键字是否在某些领域可以互换使用,而在某些领域是否不能互换使用。
最佳答案
以下基本相同:
if let _ = myObject as? SomeClass ...
if myObject is SomeClass ...
唯一真正的区别是 as
将它转换为结果类供您使用。在上面的代码中,我使用了占位符“_”,这意味着我并不真的想要结果。由于 if let
结构,您会发现在 Swift 中不像在其他语言中那样频繁地使用 is
。例如:
if let mySomeClass = myObject as? SomeClass {
// Now I know mySomeClass is a SomeClass so I can use it.
}
关于swift - Swift 中 'is' 和 'as' 关键字的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35388549/