2012-07-24 51 views
0

我試圖從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 *brand; 
@property (nonatomic, retain) NSDictionary *brand; 
:NSDictionary的的品牌 (在頭文件)

聲明

CONTENT 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 品牌陣列與關鍵價值。

目前我失去了鑰匙,我只能複製陣列。

+3

爲什麼不堅持根plist的全部內容? – 2012-07-24 11:06:25

+0

你是怎麼試圖將舊的'NSDictionary'中的值複製到新的?代碼在哪裏? 「Cars.plist」的內容是什麼? – holex 2012-07-24 11:10:02

+0

我編輯了更多信息的問題。 – Markus 2012-07-24 19:41:53

回答

0

它看起來像你的brand對象是NSArray而不是NSDictionary,即使你聲明它爲NSDictionary,所以沒有「密鑰」。然而,dic字典似乎是你想要的:品牌關鍵與一系列模型的關聯。正如其他人所說,很難確切地知道你在沒有看到plist文件的情況下得到了什麼。

+0

我編輯了更多信息的問題。 – Markus 2012-07-24 19:38:59