我正在尝试创建一个类,它接受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文件中定义的。
答案 0 :(得分:1)
首先,从捆绑中获取plist路径的最简单方法是
NSString *path = [[NSBundle mainBundle] pathForResource:@"Values" ofType:@"plist"];
其次,在读入数组后,您现在拥有数组中的所有字符串,以便在程序中进一步使用。因此,需要两行代码才能获取所有数据。
要访问数组中的第三项,只需使用
即可plistArray[2]
- 你不需要做任何事情,即你甚至不需要变量。例如。分配给你写的标签
label.text = plistArray[2];
你的for循环下面没有意义。要获取数组的最后一项,可以更容易地执行此操作:
NSString *lastItem = plistArray.lastObject;