为plist数组中的每个项创建新的NSStrings

时间:2014-07-18 16:26:17

标签: objective-c nsstring nsarray plist

我正在尝试创建一个类,它接受Plist数组中的每个项目,并将它们分配给NSString,以便在程序中的其他类中使用。这就是我到目前为止所拥有的:

NSString *appBundlePath = [[NSBundle mainBundle] bundlePath];
NSString *plist = [appBundlePath stringByAppendingString:@"/Contents/Resources/Values.plist"];

plistArray = [[NSArray alloc] initWithContentsOfFile:plist];

for (NSString* plistItem in plistArray) {
    finalPlistString = plistItem;
}

NSLog(finalPlistString);

此代码在app bundle中查找plist,将plist的内容分配给NSArray,并使用for循环将plistItem NSString设置为plist数组中的项目。然后使用NSLog记录结果字符串。它记录了plistArray中的最后一项,这是有意义的,因为只有一个NSString变量可以分配给它。

如何为plist数组中的每个项创建一个新的NSString?如果您想知道,plistArray和finalPlistString是在.h文件中定义的。

1 个答案:

答案 0 :(得分:1)

首先,从捆绑中获取plist路径的最简单方法是

NSString *path = [[NSBundle mainBundle] pathForResource:@"Values" ofType:@"plist"];

其次,在读入数组后,您现在拥有数组中的所有字符串,以便在程序中进一步使用。因此,需要两行代码才能获取所有数据。

要访问数组中的第三项,只需使用

即可
plistArray[2]

- 你不需要做任何事情,即你甚至不需要变量。例如。分配给你写的标签

label.text = plistArray[2];

你的for循环下面没有意义。要获取数组的最后一项,可以更容易地执行此操作:

NSString *lastItem = plistArray.lastObject;