|
|
1
4
不要担心性能,直到您的代码正常工作,并且您可以观察和测量可能存在的任何性能问题。注册观察者是一件非常罕见的事情,因此在这样做时不应该涉及重大的性能问题。重要的是您为通知注册了多少对象以及您正在发送多少通知,因为发布通知涉及哈希查找。 |
|
|
2
3
通过在不同的时间注册通知,实际上不会有任何性能差异。我能给你的唯一建议是将观察通知的窗口缩小到尽可能短的时间。此外,请确保只注册一次观察者。如果您多次注册一个观察者,您将收到多个通知。 为什么您如此关注通知的性能?您是否已通过测量确认通知导致了问题? |
|
|
3
2
另外,在init方法中使用块作为通知处理程序时要非常小心。 例如,可以将块设置为通知处理程序,以侦听来自类属性的通知(例如视图控制器的managedObjectContext上的didChangeNotification)。在这种情况下,块将保留对象实例,这意味着您的init方法已将retainCount增加了两次。如果您没有覆盖发布以正确地管理它,那么您将保留类的实例,更糟糕的是,可能仍然会响应这些通知。 因此,我会非常小心地使用块作为通知处理程序,特别是从init方法。 |
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 2 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 2 年前 |