【发布时间】:2017-11-14 16:15:54
【问题描述】:
我正在寻找一种方法来防止数组重复引用其中的同一对象。我的意思不是重复值 - 这很好。
例如,我知道在 Apple 的 SpriteKit 框架中,一个 SKNode 对象将其子对象存储在一个数组 (var children: [SKNode]) 中,两次向父对象添加一个节点会导致程序崩溃。
let parent = SKNode()
let child1 = SKNode()
let child2 = SKNode()
parent.addChild(child1)
parent.addChild(child2) // Allowed, although child2 == child1.
parent.addChild(child1) // Causes a crash.
这正是我想要模仿的行为。我将如何管理这个?是否有可能无需比较每个引用而产生 O(n) 复杂度?
【问题讨论】:
标签: swift