Swift 2 - 核心数据 - 面向对象编程

标签 swift oop core-data

我正在使用 Core Data,但我不确定实际保存/获取数据的位置。这是一个小例子:

我有一个 ViewController 类,我想在其中从 NSManagedObject 人员获取数据并将其显示在标签中。现在我应该继续在 ViewController 中创建一个函数来获取/保存数据吗?问题是,如果我有很多需要相同数据的 ViewController,我将不得不将该函数复制到每个 ViewController 中。

我应该在我的 person 类中调用一个继承自 NSManagedObject 的函数并返回我要查找的内容吗?

是否最好创建一个不继承自 NSManagedObject 并返回我正在寻找的内容的类?

那么正确的做法是什么?

最佳答案

正确的方法是应用MVC 设计模式

  • M:对于您应该完成所有模型(数据)工作的模型
  • V:for view ,通常在 Storyboard中完成..
  • C: Controller ,将充当两者之间的中间人,帮助为正确的模型显示正确的 View ,并根据 View 的变化更改模型。

在您的情况下,您应该将属于模型的所有获取作业与 ViewController 分开,并在通常称为“Manager”或“”的单独类中执行服务”。

在那里,您将获取所有数据,对其进行处理,然后将其作为输入传递给 viewController,以便 viewController 将其显示在 UI 中。

像这样,您在管理器中所做的一切都将可重用,您的代码将更有条理,您将应用标准帮助任何其他开发人员轻松理解您的代码,这样维护它的成本就会降低。

关于Swift 2 - 核心数据 - 面向对象编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33503353/

相关文章:

ios - 如何从后台线程返回天气数据?

ios - UITableView中的UIDatePicker,保证Visibility

xcode swift 如何拆分图像?

c++ - 获取/设置函数以更改文本和颜色

ios - CoreData : Multiple Devs, 版本化模型并保持最新

ios - 在 iOS 的 Core Data 中建模一对多关系

ios - 使用 NSPersistentCloudKitContainer 处理重复项

string - 在swift中用单个字符替换字符串中的空格序列

javascript - 任何 IDE 中的 Oo javascript 代码补全

java - 面向对象 : new class implementing requires additional parameter