如何管理一个简单的模型对象来加载它的所有实例?

时间:2012-10-03 21:55:55

标签: objective-c ios xcode design-patterns

我试着解释一下。 简单的示例项目,例如由Core Data管理Person类。 我有很多UITableViews显示数据(一个显示所有人,允许添加,删除,更新人,另一个显示中年,另一个显示按同名分组的人...这些只是一些例子,它没有物)。 当然,我不想在所有viewcontrollers中编写核心数据代码。 在这种情况下你会做什么来编写更易维护的代码?

  • 单例“PersonManager”类,包含(例如)包含所有人的mutableArray,insert-remove-update方法,NSFetchedResultsController ecc ecc ...

  • Person对象的类方法?像“NSArray * array = [personObject allPersons];”之类的东西和方法add-remove-update?该类知道如何从内存加载自己ecc ecc ...?

或者什么?

谢谢 法比奥

1 个答案:

答案 0 :(得分:1)

我曾经读过一本关于设计模式和OOP的非常好的书,其中指出你制作的所有课程都很想称之为“经理”,这就是垃圾。我不记得这本书,但重要的是它。关键是,每个数据对象都应该能够自我管理并管理其关系(例如,person对象可以有addFather:或addFriend:方法)。核心数据提示:使用类别为自动生成的数据对象类实现其他方法,当您在Core Data中添加新关系或属性时,它将使您的生活更加轻松。

因此,在您的情况下,您需要一个包含所有人的数据对象。你可以称之为AgendaDO或其他什么。此对象将具有添加,删除人员的方法,但也可以按特定顺序获取所有人员,仅对特定人员进行排序等。