如果我有一个像这样设置的 plist
Key Type Value
Root Array
Item 0 Dictionary
-Title String Part One
-Description String Welcome to part one. Have fun
Item 1 Dictionary
-Title String Part Two
-Description String Welcome to part two. Fun too.
Item 2 Dictionary
-Title String Part Three
-Description String Welcome to part three. It's free
Item 3 Dictionary
-Title String Part Four
-Description String It's part four. No more
我将如何逐步将所有标题放在一个数组中,并将所有描述放在另一个数组中?
最佳答案
Oooooooo 这就是键值编码的魅力所在。
NSArray * plistContents = [NSArray arrayWithContentsOfFile:pathToPlist];
NSArray * titles = [plistContents valueForKey:@"Title"];
NSArray * descriptions = [plistContents valueForKey:@"Description"];
这里的 secret 是对数组调用
valueForKey:
会返回一个新的对象数组,其中包含对数组中的每个事物调用 valueForKey:
的结果。并且在字典上调用 valueForKey:
可以等效于使用 objectForKey:
(如果您使用的键是键值对中的键)。有关更多信息,请参阅 the documentation 。一个警告:当你开始看到奇怪的结果时,使用“描述”键可能会导致你撕掉一些头发,因为一个拼写错误,你实际上会开始调用每个字典上的
-description
方法(这不是你想要的想)。关于iphone - 逐步通过 plist 获取信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2858535/