plistファイルから配列をコピーしようとしましたが、この配列のキー値を失いました。これは私がplistのコンテンツをロードする方法です:
NSString *path = [[NSBundle mainBundle]pathForResource:@"Cars" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc]initWithContentsOfFile:path];
self.brand = [dict objectForKey:@"Chevrolet"];
新しい辞書ブランドには、シボレー車のみが含まれています(文字列の配列です)。新しい辞書は次のように宣言されます。
NSDictionary *brand;
@property (nonatomic, retain) NSDictionary *brand;
キー値Chevroletを維持したいのですが、その内容(文字列配列)しかありません。唯一の方法は、ループして新しい辞書コンテンツを作成する方法です???:
NSArray *objects = [NSArray arrayWithObjects:@"Camaro", @"Corvette", nil];
NSDictionary *brand =[NSDictionary dictionaryWithObject:objects forKey:@"Chevrolet"];
詳しくは:
NSDictionaryブランドの宣言(ヘッダーファイル内):
NSDictionary *brand;
@property (nonatomic, retain) NSDictionary *brand;
PLISTの内容:
<plist version="1.0">
<dict>
<key>Chevrolet</key>
<array>
<string>Camaro</string>
<string>Corvette</string>
</array>
<key>Ford</key>
<array>
<string>Mustang</string>
<string>Kuga</string>
<string>Ranger</string>
</array>
</dict>
</plist>
アイデア:テーブルビューで選択したアレイのみを読む(例では、シボレー)
しかし、単純な文で(brand = [dict objectForKey:@ "Chevrolet"];)ループなし。新しいNSDICTIONARYブランドで、キーバリューを備えたアレイを維持します。
現在、私はキーを紛失し、アレイをコピーできるのは私だけです。