0

新しい設定バンドル ファイルを作成し、作成した plist にキーと値を入力して、いくつかの NSUserDefaults を作成しました。
私の値の 1 つは、「お気に入り」と呼ばれる配列です。私はそれを使用してロードしようとしています:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *tempArray = [[NSArray alloc] init];
tempArray = [defaults arrayForKey:@"favorites"];

そして、私が戻ってきたのは(null)

私が読んだある投稿では、NSArray を手動で作成し、それが実際に有効な配列であることを知るために設定バンドルに保存する必要があると書かれていました。本当にそうですか?または、配列を間違って読んでいるだけですか?

4

1 に答える 1

2

NSArray が NSUserDefaults に保存されていないようです。

空の配列を保存するには、次を試してください。

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *tempArray = [NSArray array];
[defaults setObject:tempArray forKey:@"favorites"];

これで、最初に試みたようにアレイを引き出すことができるはずです。

NSUserDefaults とは完全に別の獣である plist からデータを引き出すには、次を試してください。

NSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"YourPlistFileName" ofType:@"plist"]];
myArray = dictionary[@"favorites"];
于 2013-08-14T18:02:51.623 に答える