我正在努力寻找这个问题的答案,因为我不确定要搜索什么。
在 objective-C 中,我会做这样的事情来获取指向特定类对象的指针:
CustomLabelClass *detailLabel = (CustomLabelClass *)[sortCell.contentView viewWithTag:kSortDetailLabelTag];
我想在 Swift 中做同样的事情。基本上我在 Sprite Kit Scene 中检测碰撞,然后尝试将节点(我知道它属于特定类)传递给另一个函数。
if ((contact.bodyA.node?.isKindOfClass(TapCircleIcon)) != nil) {
updateOnScreenStatusFor(...)
我需要将 TapCircleIcon 传递到替换“...”的函数中。所以在 Obj-c 中我会做类似的事情:
TapCircleIcon *tapCircle = (TapCircleIcon *)[contact.bodyA.node];
最佳答案
在 Swift 中您不再需要 isKindOfClass
。我假设 node
是一个 AnyObject?
可选的。您可以将其转换为 TapCircleIcon
并使用此 if 语句解包可选。
if let tapCircleIcon = contact.bodyA.node as? TapCircleIcon {
updateOnScreenStatusFor(tapCircleIcon)
} else {
// node is not a TapCircleIcon
}
关于ios - 如何创建指针/传递参数以在 Swift 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29973861/