我怀疑NSProgressIndicator在通过incrementBy更新其值时与setDoubleValue相比,运行更顺畅。
有谁知道更新其价值的两种方法之间是否有任何真正的区别?
答案 0 :(得分:0)
我对内部没有任何了解,但如果incrementBy不等于
,我会非常惊讶[self setDoubleValue:[self doubleValue] + delta];
当然,由于它可以访问内部状态,因此可能会跳过所有方法调用。但实际上将像素渲染到屏幕上的行为几乎肯定会超过这两种方法之间的任何微小性能差异。
答案 1 :(得分:0)
我怀疑NSProgressIndicator的值是 与setDoubleValue相比,通过crementBy更新。
在macOS 10.14上没有任何区别。当我将maxValue
设置为1000并让计时器每100毫秒调用一个方法时,无论该方法是始终调用[self.progress incrementBy:1]
还是[self.progress setDoubleValue:self.step++]
,并且步骤都是实例变量,它看起来都是相同的类型NSUInteger
最初为零。