iOS の学習を始めたばかりで、非常に基本的な質問があります。オブジェクトのコレクション全体をアーカイブ/アーカイブ解除する正しい方法は何ですか?
まずクラスに NSCoder プロトコルを実装する必要があることを理解しています。正しくアーカイブおよびアンアーカイブできるクラスがあると仮定して、次のような例を試してみました。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *docsDir = [paths objectAtIndex:0];
NSString *archivePath = [docsDir stringByAppendingPathComponent:@"thing.model"];
Thing *thing = [[Thing alloc] init];
[NSKeyedArchiver archiveRootObject:thing toFile:archivePath];
さて、これは 1 つThing
をファイルとして保存するだけthing.model
ですよね?
では、私のアプリに多くの「もの」があり、それらすべてをアーカイブしたい場合、どのようにアプローチしますか?
より具体的には (一部のコンテキストが役立つ場合)、私は Web サービスに支えられたアプリを開発しています。アプリでレコードを作成/編集し、それらをディスクに保存し、オブジェクトを定期的に同期できるようにしたいと考えています。 Web サービスでローカルに保存しました。
ありがとう!