假设我使用
JSON或XML API使用异步NSURLConnection从URL获取有关我的项目的数据,将其解析为NSMutableArray,然后填充NSTableView.
我有一个模型:项目
我有一个控制器:TableViewController(充当表数据源和委托)
我应该在哪里放置启动请求的代码并将结果解析为NSMutableArray.
我应该:
1:
Project中的一个方法叫做 – (NSMutableArray *)getAllProjects并从我的Controller中调用它.
或者2:
我应该枚举Project *对象的NSMutableArray,在Controller中调用例如ProjectsArray *;每次调用[[Project alloc] init]?
选项1对我来说更有意义,因为我可能希望从多个控制器获取所有项目,这将节省重复代码,我只需要在我的Project模型中调用公共方法.在这种情况下,我会做很多[[self alloc] init]语句吗?这个可以吗?我的模型也需要是NSURLConnection委托.它是否正确?
解决方法
毫无疑问,它必须在你的模型中.
原因:
因为您需要从不同的控制器多次更新它,所以将来可以使用KVO.