performance - SWIFT:访问对象的捷径?

标签 performance swift object shortcut

当给对象设置参数时,我经常需要多次访问同一个对象,比如:

monster.physicsBody?.dynamic = true 
monster.physicsBody?.categoryBitMask = PhysicsCategory.Monster
monster.physicsBody?.contactTestBitMask = PhysicsCategory.Projectile
monster.physicsBody?.collisionBitMask = PhysicsCategory.None

SWIFT 中是否有任何捷径可以使其更短但性能相同甚至更好?在 VB 中有类似的东西

With monster.physicsBody
   .dynamic = ...
End With

当分配给新变量时,我得到一个副本,所以我不能改变原来的值。有什么想法吗?

最佳答案

Swift 中没有类似With 的东西。您可以将 if let 与一个字母变量一起使用,以使其尽可能短。此外,如果 categoryBitMaskPhysicsCategory 类型,您可以只使用 .Monster 等。

if let b = monster.physicsBody {
  b.dynamic = true 
  b.categoryBitMask = .Monster
  b.contactTestBitMask = .Projectile
  b.collisionBitMask = .None
}

关于performance - SWIFT:访问对象的捷径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31659546/

相关文章:

performance - Maven 3 提供的性能是否比 Maven 2 更好?

vba - 优化 VBA Excel 中双循环的性能

python - 重复 numpy 数组中的最后一列

performance - 大O,对一系列n个数字求和的复杂性是多少?

android - 新的可扩展 ListView 高度可定制

ios - 同步执行GET请求

ios - 如何识别来自 UITableView 的 UITableViewCell 中多个按钮的点击 - Swift 4

ios - Swift:有关 JSON 解析的帮助

javascript - 如何从数组中的所有对象中删除一个简单的特定键值对

c - 在 C 中动态创建对象