作者dokinkon (doki)
看板MacDev
标题Re: [问题] plist与NSDictionary
时间Fri Aug 12 08:58:59 2011
试着回答看看,有错请指正
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
1F:推 yueyajbdt:感谢大大,这样子做可以,但为什麽直接等於会不行,还要 08/12 19:09
2F:→ yueyajbdt:放一个ARRAY在COPY.. 08/12 19:09
3F:推 yueyajbdt:D大我更新了一下问题,麻烦可以请你看一下吗 08/12 20:03
4F:→ uranusjr:这样不行吧, 要 mutableCopy... 08/12 21:03
5F:→ dokinkon:感谢指正:) 08/14 15:08
6F:→ dokinkon:因为看您的需求,您会改变Array内的值 08/14 21:01
7F:→ dokinkon:但是NSArray是immutable(不可改变的) 08/14 21:02
8F:→ dokinkon:所以需要额外配置一个MutableArray搭配mutable copy 08/14 21:03
9F:→ dokinkon:而从plist直接抓出来的都是immutable 08/14 21:03