nac*_*oss 9 types conditional-statements swift
在swift中,您可以使用类似于以下内容的方法检查对象是否属于特定类型
let object: AnyObject = someOtherObject
if object is SKNode {
//is SKNode
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,SKShapeNode和SKSpriteNode也会满足这个条件,因为它们是SKNode的子类.
检测对象是否属于特定类型而不是该类型的子类的标准方法是什么?
Ash*_*lls 10
你可以回到Objective-C:
if (object as AnyObject).isMemberOfClass(SKNode) {
//is SKNode
}
Run Code Online (Sandbox Code Playgroud)
Apple批准的在Swift 2.2中执行此操作的方法是:
if object.dynamicType === SKNode.self {
// is node
}
Run Code Online (Sandbox Code Playgroud)
一旦这个提议得到实施(Swift 3.0),它将改为:
if object.Self === SKNode.self {
// is node
}
Run Code Online (Sandbox Code Playgroud)