什么是AppDelegate和Context在swift中的功能?

时间:2016-07-29 10:53:20

标签: ios iphone swift core-data

我刚开始使用swift在iOS app dev中处理核心数据。我遇到的前两件事是:1。AppDelegate 2. NSManagedObjectContext。

  1. 我理解' AppDelegate.swift' file是一个源文件,就像' ViewController.swift'一样。但在所有教程中,它被称为“将来会使用的东西”。或许,现在是时候熟悉它了。你能告诉我它究竟是做什么的吗?

  2. 类型为' NSManagedObjectContext'的对象是什么?做?它的功能是什么?你能用更简单的词来表达它的功能吗?

  3. 提前致谢。

2 个答案:

答案 0 :(得分:10)

请查看下图,以便直观了解iOS应用中的关键对象:

enter image description here

AppDelegate的角色:

应用代表是应用代码的核心。它处理应用程序初始化,状态转换和许多高级应用程序事件。此对象也是唯一保证存在于每个应用程序中的对象,因此它通常用于设置应用程序的初始数据结构。

AppDelegate用于整个应用程序,您可以使用它来管理应用程序生命周期,另一方面,ViewController用于单个视图。您可以使用它来管理视图的生命周期。一个应用可以有多个视图。但只有一个AppDelegate。

NSManagedObjectContext的角色:

enter image description here

NSManagedObjectContext是核心数据的基本概念。它就像关系数据中的事务。您可以获取对象,可以创建对象,更新和删除它们,将它们保存回持久存储等。基本上,对于所有核心数据操作,您需要与NSManagedObjectContext进行交互。

答案 1 :(得分:0)

  1. UIApplicationDelegate是设备(iOS系统)和您的应用程序之间的接口。您将在此课程中处理推送通知

  2. 上下文更复杂。通常,来自CoreData的所有对象都有一些上下文,负责同步此上下文中的所有对象。因此,如果您获取对象A并在某些其他代码点中再次获取此对象(让我们将其称为A2),并且两者都在相同的上下文中获取,则A == A2始终为true。但这只是冰山一角。