2011-06-21 2 views
1

現在、ユーザーが地図をクリックしてアノテーションポイントに特定の字幕を追加するアプリケーションがあります。しかし、電話機の電源を切ると、追加されたポイントはすべて消えてしまいます。これらのアノテーションを永続化することに興味があります。私はCore-Dataでこれを行う方法を理解しようとしていましたが、ここでこのチュートリアルを読んだら、http://www.raywenderlich.com/934/core-data-tutorial-getting-started、どこから始めたらいいか分かりません。コアデータによるアノテーションの復元

ありがとうございます、ありがとうございます。

答えて

0

コアデータアプリケーションが設定されている場合は、xcdatamodelファイルにエンティティを作成するだけで済みます。保存したいものの属性を追加します。

latitude - double 
longitude - double 
title - NSString 

などは、必要なものが得られるまでです。

アノテーションを追加する場合は、エンティティ用の新しいコアデータオブジェクトを作成する必要があります。

Location *newLocation = (Location *)[NSEntityDescription insertNewObjectForEntityForName:@"Location" inManagedObjectContext:self.managedObjectContext]; 
Location.latitude = .... 
// and so on to store the information you want in its attributes; 

後で値を変更すると、属性を異なる時点で設定できます。注釈を表示するには、適切なオブジェクトにアクセスできるようにする必要があります。 managedObjectContextにNSFetchRequestを使用してこれを行うことができます。 NSPredicateを使用して、目的のオブジェクトにフィルタをかけることができます。アプリを終了する準備ができているときに、あなたがアプリを開く次の時間を使用するために追加したすべてのオブジェクトを格納する

NSError *error = nil; 
if ([managedObjectContext save:&error]) { 
    // handle the error; 
} 

を使用してコンテキストを保存します。これで、managedObjectContext内のオブジェクトに基づいてアノテーションを作成することができます。私はこれがあなたが探していたものであることを願っています。少なくとも、あなたがしたいことに近づく方法を考えてください。

関連する問題