0

こんにちは、「ユーザー」が作成した新しい構成をテーブル ビューに保存する方法を見つけるのに助けが必要です。

これが「AppDelegate.hおよび.m」でどのように行われるかについては少し知っていますが、問題は、ナビゲーションベースのアプリを使用していて、デリゲートとViewControllerを提供することです。

人が新しいビューに切り替えたときに新しいテーブル ビューを保存するようにプログラムするにはどうすればよいですか。AppDelegate を介してそれを行う必要がない方法はありますか?

ありがとうございました

4

1 に答える 1

2

最善の方法は、tableView のデータソースをドキュメント ディレクトリの .plist ファイルに保存することです。次に、viewWillAppear メソッドで、tableView のデータソースを .plist ファイルに設定します (利用可能な場合)。

通常、データソースは NSDictionary/Mutable または NSArray/Mutable です。どちらもドキュメントディレクトリに書き込む方法があり、次のように取得できます。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

ドキュメント ディレクトリにリストの 1 つを書き込む方法は次のようになります。

BOOL saved = [datasource writeToPath:[documentsDirectory stringByAppendingPathComponent:@"savedDatasource.plist"] atomically:YES];

if (saved) {
//saved datasource to .plist file.
}
else if (!saved) {
//did not save;
}

ドキュメント ディレクトリから plist をロードするには、まず plist があるかどうかを確認する必要があります。

if ([[NSFileManager defaultManager] fileExistsAtPath:[documentsDirectory stringByAppendingPathComponent:@"savedDatasource.plist"]]) {
         countryMArray = [[NSMutableArray alloc] initWithContentsOfFile:[documentsDirectory stringByAppendingPathComponent:@"savedDatasource.plist"]];
 }
 else {
     //it is not there, we need to write it to the documents directory
     [datasource writeToPath:[documentsDirectory stringByAppendingPathComponent:@"savedDatasource.plist"] atomically:YES];
 }

幸運を!

于 2011-05-02T00:09:14.293 に答える