我们有一个具有数组属性的类,该类具有一个didSet观察者。但是,当我们在这个数组上调用removeAtIndex时,似乎调用了didSet观察者。我们能阻止这一切发生吗?
var items: [String] = []
{
didSet
{
println(self.items.count)
}
}
...
func removeIndex(index: Int)
{
self.items.removeAtIndex(index)
// now didSet is called, but we don't want that
}发布于 2015-05-02 20:16:00
didSet方法将被自动调用,如果您不想执行didSet方法中的代码行,下面的技巧可能适用于您。
Bool变量,在willSet观察者方法中使其变为true,在didSet方法中检查这个bool变量的状态,如果为true,忽略,然后立即将其变为false。发布于 2015-07-07 00:08:04
非常出乎意料。
对于我的情况,我能够维护一个索引变量,而不是从数组中提取项。
https://stackoverflow.com/questions/30006501
复制相似问题