0

配列としてルートを持つ plist があり、この配列の各項目は、名前 (文字列) と姓 (文字列) のオブジェクトを持つ辞書です。ファイルからすべての名前を表示したい。現時点では、私はこのコードを使用しています:

   NSArray *myData = [[NSArray alloc] initWithContentsOfFile:mypath];
   NSMutableArray *names = [[NSMutableArray alloc] init];
   for (int i=0; i < myData.count; i++) {
       [names addObject:[[myData objectAtIndex:i] objectForKey:@"name"]];
   }

キー @"name" の値を plist ファイルから NSMutableArray *names に直接ロードする方法はありますか? @"name" 値のみが必要な場合は、plist ファイルの内容全体をメモリにロードしたくありません。

4

1 に答える 1

2

いいえ。pli​​stのロードは、オール・オア・ナッシングの問題です。あなたのplistが大規模でない限り、私はそれについて心配しません。もしそうなら、あなたはそれをあなた自身のplistデシリアライザーを書くようなことをするのではなく、複数のファイルに分割することを検討したいと思うでしょう(CoreFoundationのplistパーサーがあなたのものよりも速くなることを保証するからです)。

于 2013-02-27T21:10:57.193 に答える