コアデータモデルにデータを保存する方法(属性)

案件

私はiOSで学ぶのは初めてです。ここでは、コアデータから始めます。ここで、そのチュートリアルはコアデータをリンクします。ここで、モデルと属性の作成について理解しました。すべてのデータを入力した後、押す必要があるように、入力したデータはsaveモデルに保存され、テーブルビューにも表示されます。managed objectデータを格納するためにアプリケーションコードによって作成されるオブジェクトはわかっています。

私の疑い:

saveボタンを押した入力されたデータがどのようにトリガーされてテーブルビューに表示されるか、またそのデータがモデル(コアデータ)にどのように保存されるか。私はこの部分で混乱しています。

すべてのデータを入力し、saveそのデータがコアデータにどのように保存され、テーブルビューに表示されているかを押したときそれがどのように機能するか私は理論的かつ実用的な方法で求めています。

displayテーブルビューでそのデータに対してどのメソッドがトリガーされるか。そしてどのようにentered data are storing in core data (model)

テーブルビューのデータを削除すると、そのデータはモデルに表示されません。どのように、それがどのように機能しているか。saveそのデータがコアデータにどのように保存されているかを押すと(モデル-属性)

例:

それらは3つの属性を使用します:

  1. 会社
  2. 名前
  3. バージョン

彼らがどのように節約しているかわかりません。投票を下げないでください。これは私の最初の質問です。これは、今後の初心者に役立ちます。ありがとう

カレブ

すべてのデータを入力し、[保存]を押すと、そのデータがコアデータにどのように保存されているか...

保存ボタンには、ボタンを押すと-save:トリガーされるアクションがあります。そのメソッドは次のようになります。

- (IBAction)save:(id)sender {
    NSManagedObjectContext *context = [self managedObjectContext];

    // Create a new managed object
    NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Device" inManagedObjectContext:context];
    [newDevice setValue:self.nameTextField.text forKey:@"name"];
    [newDevice setValue:self.versionTextField.text forKey:@"version"];
    [newDevice setValue:self.companyTextField.text forKey:@"company"];

    NSError *error = nil;
    // Save the object to persistent store
    if (![context save:&error]) {
        NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
    }

    [self dismissViewControllerAnimated:YES completion:nil];
}

この方法の重要なアイデアは次のとおりです。

  • 管理対象オブジェクトコンテキスト:メソッドが最初に行うことは、アプリの管理対象オブジェクトコンテキスト、つまりすべての管理対象オブジェクトを管理するオブジェクトへの参照を取得することです。

  • 管理対象オブジェクトの作成:次に、このメソッドは、デバイス情報を含む新しい管理対象オブジェクトを作成します。新しいオブジェクトに入力したデータが保存されます。管理対象オブジェクトを作成するときにMOCを指定する必要があるため、オブジェクトはすでに管理対象オブジェクトコンテキストに属しています。

  • コンテキストの保存:ifステートメントの条件付き部分の呼び出しはコンテキストを保存します。つまり、変更を永続ストアに書き込みます。

チュートリアルの後半で、-save:既存のオブジェクトも更新するようにメソッドが変更されます。コードを見ると、そのバージョンのメソッドが最初に、ViewControllerが既存のオブジェクトで機能しているかどうかを確認していることがわかります。そうである場合は、新しいオブジェクトを作成する代わりに、そのオブジェクトを変更します。

...そしてテーブルビューで表示されています。

標準の一つUIViewControllerの方法があり-viewDidAppear:、そしてDeviceViewController次のようにこのメソッドをオーバーライドします。

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    // Fetch the devices from persistent data store
    NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Device"];
    self.devices = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];

    [self.tableView reloadData];
}

ご覧のとおり、このメソッドは次のことを行います。

  • 管理対象オブジェクトのコンテキストを取得します。MOCがないとCoreDataオブジェクトにアクセスできません。

  • フェッチリクエストを作成して実行しますフェッチリクエストは、CoreDataストアから特定のオブジェクトを取得する方法です。フェッチ要求の結果はオブジェクトの配列であり、ViewControllerのdevicesプロパティに保存されます。

  • テーブルをリロードします。-reloadDataメッセージをテーブルに送信すると、データソースから新しいデータセットを(サプライズで)ロードするように指示されます。ビューコントローラはテーブルのデータソースであるため、テーブルが新しいセルを要求すると、ビューコントローラはそのdevicesプロパティのオブジェクトを使用して各セルを構成します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JSONデータをEmberJSモデル属性に適用する方法

分類Dev

モデルフィルターをkerasに保存する方法

分類Dev

iOSのコアデータにJSONデータを保存する方法

分類Dev

foreach ループ データを別のモデルに保存する方法は?

分類Dev

モデルデータをデータベースに保存する

分類Dev

モデルをfirebaseLiveデータベースに保存する方法は?

分類Dev

Backbone.jsモデルデータを保存する方法は?

分類Dev

Intをコアデータに保存する正しい方法は?

分類Dev

UIImagePickerController-画像をコアデータに保存する方法は?

分類Dev

UIButton値をコアデータに保存する方法は?

分類Dev

collectionviewcellからコアデータに画像を保存する方法

分類Dev

モデルフォームデータをデータベースに保存する方法

分類Dev

インパッドに保存されているデータ(コアデータモデルを使用して保存)を開く方法

分類Dev

複雑なコアデータモデルのデータに効率的にアクセスする方法

分類Dev

Rails:親データを子モデルに保存する方法(関連付け)

分類Dev

保存せずにモデルデータを印刷する

分類Dev

MongoDB:データをモデルに正しく保存する

分類Dev

DjangoFileUploadHandlerからモデルにデータを保存する

分類Dev

モデルデータをXMLに保存

分類Dev

Emacsをデュアルモニターに分割する方法は?

分類Dev

データモデルで作成されたコアデータクラスに属性を追加するにはどうすればよいですか?

分類Dev

コンテキスト属性をコアデータに保存する最良の方法は?

分類Dev

モデルデータをhtmlページに表示する方法

分類Dev

複数のレコードをコアデータに保存する方法

分類Dev

データを保存する方法-*属性を<head>に

分類Dev

データベースにデータテーブルを保存する方法は?

分類Dev

データベースにデータテーブルを保存する方法は?

分類Dev

複数のデータをFirebaseリアルタイムデータベースに保存する方法

分類Dev

Laravel:Eloquentモデルコンストラクターに属性を渡す方法

Related 関連記事

  1. 1

    JSONデータをEmberJSモデル属性に適用する方法

  2. 2

    モデルフィルターをkerasに保存する方法

  3. 3

    iOSのコアデータにJSONデータを保存する方法

  4. 4

    foreach ループ データを別のモデルに保存する方法は?

  5. 5

    モデルデータをデータベースに保存する

  6. 6

    モデルをfirebaseLiveデータベースに保存する方法は?

  7. 7

    Backbone.jsモデルデータを保存する方法は?

  8. 8

    Intをコアデータに保存する正しい方法は?

  9. 9

    UIImagePickerController-画像をコアデータに保存する方法は?

  10. 10

    UIButton値をコアデータに保存する方法は?

  11. 11

    collectionviewcellからコアデータに画像を保存する方法

  12. 12

    モデルフォームデータをデータベースに保存する方法

  13. 13

    インパッドに保存されているデータ(コアデータモデルを使用して保存)を開く方法

  14. 14

    複雑なコアデータモデルのデータに効率的にアクセスする方法

  15. 15

    Rails:親データを子モデルに保存する方法(関連付け)

  16. 16

    保存せずにモデルデータを印刷する

  17. 17

    MongoDB:データをモデルに正しく保存する

  18. 18

    DjangoFileUploadHandlerからモデルにデータを保存する

  19. 19

    モデルデータをXMLに保存

  20. 20

    Emacsをデュアルモニターに分割する方法は?

  21. 21

    データモデルで作成されたコアデータクラスに属性を追加するにはどうすればよいですか?

  22. 22

    コンテキスト属性をコアデータに保存する最良の方法は?

  23. 23

    モデルデータをhtmlページに表示する方法

  24. 24

    複数のレコードをコアデータに保存する方法

  25. 25

    データを保存する方法-*属性を<head>に

  26. 26

    データベースにデータテーブルを保存する方法は?

  27. 27

    データベースにデータテーブルを保存する方法は?

  28. 28

    複数のデータをFirebaseリアルタイムデータベースに保存する方法

  29. 29

    Laravel:Eloquentモデルコンストラクターに属性を渡す方法

ホットタグ

アーカイブ