2016-07-29 14 views
1

私はちょうどswiftを使っているiOSアプリ開発者の中核データで作業を始めました。私が遭遇した最初の2つの事柄は次のとおりです:1. AppDelegate 2. NSManagedObjectContext。迅速なAppDelegateとContextの機能は何ですか?

  1. 私は「AppDelegate.swift」ファイルは単に「ViewController.swift」のようなソースファイルであることを理解しています。しかし、すべてのチュートリアルでは、「後で使用されるもの」と呼ばれていました。おそらく、今はそれに精通する時間です。ちょうどそれが正確に何かを教えていただけますか?

  2. 「NSManagedObjectContext」タイプのオブジェクトは何をしますか?その機能は何ですか?その機能を簡単な言葉で表現してください。

ありがとうございます。

答えて

6

iOSアプリでKeyオブジェクトを視覚的に理解するために、次の図を見てください:

enter image description here

AppDelegateの役割:

アプリデリゲートがありますあなたのアプリケーションコードの中心ですそれは、アプリケーションの初期化、状態の遷移、および多くのハイレベルのアプリケーションイベントを処理します。このオブジェクトは、すべてのアプリケーションに存在することが保証されている唯一のオブジェクトでもあるため、多くの場合、アプリケーションの初期データ構造を設定するために使用されます。

AppDelegateはアプリ全体に使用されていますが、アプリのライフサイクルを管理するために使用できます。一方、ViewControllerは1つのビューで使用されます。ビューのライフサイクルを管理するために使用することができます。 1つのアプリは複数のビューを持つことができます。 AppDelegateは1つだけです。 NSManagedObjectContextの

役割:

enter image description here

NSManagedObjectContextは、コアData.Itの基本的な概念は、リレーショナル・データ内のトランザクションのようです。オブジェクトを取得したり、オブジェクトを作成したり、更新したり、削除したり、永続的なストアに保存したりすることができます。基本的にすべてのコアデータ操作に対して、NSManagedObjectContextと対話する必要があります。

0
  1. UIApplicationDelegateは、デバイス(iOSシステム)とアプリケーションの間のインターフェイスです。つまり、このクラスのプッシュ通知を処理します。

  2. コンテキストが複雑です。一般に、CoreDataに由来するすべてのオブジェクトには、このコンテキスト内のすべてのオブジェクトの同期を担うコンテキストがあります。したがって、オブジェクトAをフェッチして、他のコードポイントでこのオブジェクトを再度フェッチすると(A2と呼ぶことができます)、両方が同じコンテキストでフェッチされた場合、A == A2は常にtrueです。しかしそれはちょうど氷山の先端です。

関連する問題