【发布时间】:2012-10-26 07:53:41
【问题描述】:
假设我正在使用 JSON 或 XML API 从使用异步 NSURLConnection 的 URL 获取有关我的项目的数据,并将其解析为 NSMutableArray,然后填充 NSTableView。
我有一个模型:项目 我有一个控制器:TableViewController(充当表数据源和委托)
我应该将启动请求并将结果解析为 NSMutableArray 的代码放在哪里。
我应该有:
1:
Project 中的一个名为 -(NSMutableArray* ) getAllProjects 的方法并从我的 Controller 中调用。
或者2:
我是否应该枚举 Project* 对象的 NSMutableArray,例如在我的 Controller 中调用 ProjectsArray*;每次调用[[Project alloc] init]?
选项 1 对我来说更有意义,因为我可能想从多个控制器中获取所有项目,这样可以节省重复代码,我只需要在我的项目模型中调用一个公共方法。在这种情况下,我会做很多[[self alloc] init] 语句吗?这个可以吗?我的模型也需要是一个 NSURLConnection 委托。这是正确的吗?
【问题讨论】:
-
我想你已经回答了你自己的问题。 :-) 隐藏数据来源或其准备是模型的有用行为。当然,“模型”不必只有一个类,根据您的描述,
ProjectManager对象可能是个好主意。
标签: objective-c ios xcode cocoa-touch cocoa