【发布时间】:2013-06-24 03:26:19
【问题描述】:
我有一个表格视图控制器,它应该填充来自封装在 store 类中的数组的数据。该表需要通过table:numberOfRowsInSection: 方法知道每个部分中有多少行。在此方法中,我需要返回 store 实例中的数组大小。我最初通过将store 设为单例来做到这一点,但被告知这是低效的,使用 NSNotificationCenter 会更好。
据我所知,NSNotificationCenter 所做的只是在另一个对象发布特定通知时触发某些对象中的方法。如何使用 NSNotificationCenter 将数组的大小发送到我的表视图控制器?
【问题讨论】:
-
如果没有关于数据是什么的信息,就很难确定,但
NSNotificationCenter或单例都不是很好的模式。为什么不向表视图控制器添加一个指向store的属性?你能多谈谈数据是什么吗? -
通过通知发送行数不是一个好主意。通知,顾名思义,应该只用于通知。在您的情况下,它应该用于通知商店发生了一些更改。然后从存储实例(它是单例或视图控制器引用的实例)中检索真实数据(例如,行数、节数等)。
-
我有一个表格视图控制器,它需要填充一个充满字符串的数组。这个数组是另一个类
Store的属性。我应该在我的表视图控制器启动时创建这个商店并给表视图控制器一个对它的引用吗? -
更新:我尝试了在表启动时为表视图控制器提供指向存储的属性的方法。它似乎工作正常,但是否建议使用单例?
标签: ios objective-c nsnotificationcenter