我试图从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;
我想保持键值雪佛兰,但我只有其内容(字符串数组)。是唯一的方法,使用???:
循环和构建新的字典内容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>
想法: 阅读表格视图仅选择阵列(例如,CHEVROLET)
但是简单的句子(品牌= [dict objectForKey:@“雪佛兰”];)没有LOOPS。保留新的品牌具有关键价值的阵列。
目前我丢失钥匙,只能复制阵列。
答案 0 :(得分:0)
看起来您的brand
对象是NSArray
,而不是NSDictionary
,即使您将其声明为NSDictionary
,因此没有“密钥”。然而,dic
字典似乎是你想要的:一个品牌键与一系列模型的关联。正如其他人所说,如果没有看到plist文件,很难确切知道你得到了什么。