2011-01-12 5 views
0

私はiPhone用のRSSリーダーを作成しようとしています。まず、NSDictionaryの束を保持するplistを作成しようとしています。しかし、私のappDelegate(didFinishLaunchingWithOptions :)のplistを作成するとき、ルート要素はNSDictionaryですが、NSArrayに他の要素を保持させたいと思います。plistをルート要素で初期化する

if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) { 
    [[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil]; 
} 

filePath変数は、ドキュメントフォルダへのパスです。 plistを作成するコードが正常に実行されています。

答えて

0

空の配列(NSArray)を作成してファイルに書き込むことはできませんか?

http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/NSArray.html#//apple_ref/occ/instm/NSArray/writeToFile:atomically

と同様の方法で

行う

[NSArrayのarrayWithContentsOfFile:パス](またはNSMutableArrayのあなたが好む場合に)

http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/NSArray.html#//apple_ref/occ/clm/NSArray/arrayWithContentsOfFile

0

のAlloc NSMutableArray、その後、辞書を追加するには[NSMutableArray addObject:dictionaryを使用してください。

永続ストレージ(ファイル)へのディクショナリを使用してどの時点でアレイを書き込むかは選択しますが、最初に空のファイルを書き込む必要はありません。バックグラウンドに入る前に、またはアプリケーションを終了する前にファイルを更新するようにしてください。

+0

View ControllerでUIApplicationWillTerminateNotificationを受け取ったときに配列を書きます。 –

+0

アプリケーションはバックグラウンドでアプリをバックグラウンドに置いて殺すことができるので、applicationWillResignActiveで追加の書き込みをトリガーすることを検討したいかもしれません。その場合、UIApplicationWillTerminateNotificationのみを使用すると、最新のデータは書き込まれません。 – Olaf

+0

ああありがとう!あなたが私に言ったように私はやっている、私はそれらの通知を受け取ったときに配列を書くつもりです。 –

関連する問題