在我正在开发的这个应用程序中,我使用核心数据来存储内容。我在 AppDelegate
的 didFinishLaunchingWithOptions
方法中填充数据库。在 View Controller 中,我使用 NSFetchRequest
提取所需的数据。
我的问题是,与提取数据相关的代码是否应该在 View Controller 中?或者我应该在为这些实体生成的 NSManagedObject
子类中创建单独的方法并从 View Controller 中调用它们?
有人可以解释一下吗?
谢谢。
您应该创建一个模型类,这意味着:
@interface DataImporter : NSObject
@property(nonatomic, readonly) CoreDataManager *coreDataManager;
- (id)initWithCoreDataManagerCoreDataManager *)coreDataManager;
- (void)importDataWithCompletionCallbackvoid (^)())completionBlock;
@end
它不是 NSManagedObject
子类,但它是负责将数据导入您的 CoreData 存储的对象。 importDataWithCompletionCallback
可以例如创建所有必需的 NSManagendObject
对象(取决于一些 JSON)并保存它们,在后台执行,完成后调用回调 block 。
子类化 NSManagendObject
不是一个好方法。
关于ios - 不确定核心数据代码应该放在 MVC 中的哪个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21482656/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |