0

我试图解释。简单的示例项目,例如由 Core Data 管理的 Person 类。我有许多 UITableViews 显示数据(一个显示所有人员,允许添加、删除、更新人员,另一个显示中年,另一个显示按相同姓名分组的人员......这些只是一些示例,它没有事情)。当然,我不想在所有视图控制器中编写核心数据代码。在这种情况下,您会怎么做才能编写更易于维护的代码?

  • 一个单例“PersonManager”类,(例如)一个包含所有人的 mutableArray,插入-删除-更新方法,一个 NSFetchedResultsController ecc ecc ...

  • Person 对象的类方法?类似“NSArray *array = [personObject allPersons];” 和方法添加-删除-更新?该类知道如何从内存中加载自身 ecc ecc ...?

要不然是啥?

谢谢法比奥

4

1 回答 1

1

我曾经读过一本关于设计模式和 OOP 的非常好的书,里面说你做的每一堂课都想称之为“经理”的课都是垃圾。我不记得那本书了,但这并不重要。关键是,每个数据对象都应该能够管理自己并管理其关系(例如,一个人对象可以有一个 addFather: 或 addFriend: 方法)。还有一个 Core Data 提示:使用类别来为自动生成的数据对象类实现额外的方法,当您在 Core Data 中添加新的关系或属性时,它会让您的生活变得更加轻松。

因此,在您的情况下,您需要一个将所有人都绑定到它的数据对象。您可以将其称为 AgendaDO 或其他名称。该对象将具有添加、删除人员、按特定顺序获取所有人员、仅对特定人员进行排序等方法。

于 2012-10-03T22:23:55.493 回答