看板 MacDev 關於我們 聯絡資訊
試著回答看看,有錯請指正 NSArray* tmpArray = (NSArray*)[item objectForKey:@"Faculty"]; NSMutableArray* facultyArray = [tmpArray copy]; 這裡的item是沿用您之前從 array得到的NSDictionary plist本身照您目前post的內容看起來是正確的, 若是有問題的話, xcode應該會報錯 =================================================== 第一次用Ptt寫code好不習慣阿XD ※ 引述《yueyajbdt (碳烤焦貓)》之銘言: : 我有plist內容如下 : Key Type Value : item 0 (Dict) : Year (String) 2011 : Faculty (Array) : item 0 (String) 商學院 : item 1 (String) 理工學院 : item .... : 我用NSMutableArray *array = [NSMutable arrayWithContentsOfFile:path]; : NSDictionary *item = [array objectAtIndex:0]; : NSMutableArray *year = [[NSMutableArray alloc] init]; : [year addObject:[array objectForKey:@"Year"]; : 可以成功把2011加入year array裡 : 所以我想如法泡製把Faculty的內容加入faculty array裡面 : 用NSLog去跑可以得到商學院跟理工學院等等等.. : 但實際上運行卻會出錯,請問我該怎麼正確的加進去,或者我plist寫錯了? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.249.199.136
yueyajbdt:感謝大大,這樣子做可以,但為什麼直接等於會不行,還要 08/12 19:09
yueyajbdt:放一個ARRAY在COPY.. 08/12 19:09
yueyajbdt:D大我更新了一下問題,麻煩可以請你看一下嗎 08/12 20:03
uranusjr:這樣不行吧, 要 mutableCopy... 08/12 21:03
dokinkon:感謝指正:) 08/14 15:08
dokinkon:因為看您的需求,您會改變Array內的值 08/14 21:01
dokinkon:但是NSArray是immutable(不可改變的) 08/14 21:02
dokinkon:所以需要額外配置一個MutableArray搭配mutable copy 08/14 21:03
dokinkon:而從plist直接抓出來的都是immutable 08/14 21:03