2009-08-13 9 views
1

iPhone OSで使用できるシリアライズは何ですか?それは事実上可能なのか、それともすばやく忘れるべきですか?NSMutableArrayをすべての内容と一緒にファイルに保存し、そこから後で復元することはできますか?

私は、NSMutableArrayにいくつかの入力を保存する小さなアプリケーションを作っています。ユーザーが離れると、入力はそのアレイに追加または削除を続けるために戻るまで生き続ける必要があります。

アプリケーションが終了すると、配列内のすべてのものをファイルに保存する方法が必要です。または、繰り返し処理し、すべてを切り取って書き込む必要があります。つまり、どこかでカンマ区切りにしてから、次回に再度読み込み、読み込んだり、ファイル内の行を繰り返してその配列の配列を作成する必要があります。それはレンガのように難しいでしょう。の仕方?

答えて

0

iPhone SDKは、SQLite tablesを使用してデータを保存するように設計されています。

1

限り、配列内のオブジェクトは、(NSStringのとNSValueが行う、独自のオブジェクトを格納している場合、それは比較的簡単です)NSCodingを実装するとして、あなたは使用することができます。

[NSKeyedArchiver archiveRootObject: array toFile: filePath]; 

を保存し、ために:

array = [NSKeyedUnarchiver unarchiveObjectWithFile: filePath]; 

を読み込みます。

NSDataに同様にロード/保存することができます。

3

簡単な方法、あなたはすでにNSArrayのオブジェクトを持っているのでは

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag 

を使用してディスクに配列を書き込み、バックとでそれを読むことです:

- (id)initWithContentsOfFile:(NSString *)aPath 

または

+ (id)arrayWithContentsOfFile:(NSString *)aPath 

NSCoderを使用することもできます。

あなたはおそらく正しいコードのためにSOFを検索することができます。

0

NSArrayはプロパティリストの一種であるため、NSPropertyListSeralizationを使用できます。詳細はhereをご覧ください。

関連する問題