Re: [問題] plist與NSDictionary

看板MacDev作者 (doki)時間14年前 (2011/08/12 08:59), 編輯推噓2(207)
留言9則, 3人參與, 最新討論串1/1
試著回答看看,有錯請指正 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

08/12 19:09, , 1F
感謝大大,這樣子做可以,但為什麼直接等於會不行,還要
08/12 19:09, 1F

08/12 19:09, , 2F
放一個ARRAY在COPY..
08/12 19:09, 2F

08/12 20:03, , 3F
D大我更新了一下問題,麻煩可以請你看一下嗎
08/12 20:03, 3F

08/12 21:03, , 4F
這樣不行吧, 要 mutableCopy...
08/12 21:03, 4F

08/14 15:08, , 5F
感謝指正:)
08/14 15:08, 5F

08/14 21:01, , 6F
因為看您的需求,您會改變Array內的值
08/14 21:01, 6F

08/14 21:02, , 7F
但是NSArray是immutable(不可改變的)
08/14 21:02, 7F

08/14 21:03, , 8F
所以需要額外配置一個MutableArray搭配mutable copy
08/14 21:03, 8F

08/14 21:03, , 9F
而從plist直接抓出來的都是immutable
08/14 21:03, 9F
文章代碼(AID): #1EH7hLwE (MacDev)
文章代碼(AID): #1EH7hLwE (MacDev)