gpt4 book ai didi

cocoa - 滥用 NSNotificationCenter

转载 作者:行者123 更新时间:2023-12-03 16:09:55 28 4
gpt4 key购买 nike

NSNotificationCenter 真的很酷,我们可以用它构建非常可扩展的应用程序。我的问题是:我们是否可以在应用程序中滥用 NSNotificationCenter,即密集使用它,还是它不是一个好的选择?目前,当我有 JSON 服务响应时,我正在使用它:我发布通知,因此我有几个监听器监听此类通知。到目前为止,我有近数十个服务需要调用,并且可以说根据这些通知要实现更多操作。WDYT?谢谢

最佳答案

根据我的经验,编写广泛使用 NSNotificationCenter 的应用程序会导致维护噩梦,需要引用使用数据的(委托(delegate))对象意味着您可以逐步完成处理数据的实际过程;有了通知,事情就变得太脱节了。

也就是说,在很多时候通知都是有意义的(设备旋转、应用程序启动/退出、广泛的状态变化),但我通常会尽可能避免它们。

我发现通知工作良好的一个地方是当我有一个 Controller 来管理许多其他 Controller 使用的数据时;当数据发生变化时,我会发出通知,这允许所有感兴趣的各方进行更新。例如,我可能有一个 UserController 来管理有关当前用户的信息(姓名、照片等)。当某些用户数据发生更改时,我将发布通知(例如 UserControllerDidUpdatePhotoNotification)。然后,任何感兴趣的 View Controller 都可以选择更新他们正在显示的照片。

我认为阻止我使用通知的最大原因是对可维护性的渴望,如果您使用通知仍然允许您拥有可维护的代码,那么就继续使用它们;如果没有,请改用其他设计。

关于cocoa - 滥用 NSNotificationCenter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8158115/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com