如何在plist中存储数据并将它们用于表视图

时间:2012-08-10 06:16:39

标签: ios xcode4.4

我应该写什么?选择从Plist中选择数据并在表格视图中使用它来获取不同的数据吗?

2 个答案:

答案 0 :(得分:1)

要将数据写入plist,如果您已经拥有NSDictionaryNSArray中的数据,则各自的writeToFile方法会执行此操作。同样,从plist中读取,它就像各自的dictionaryWithContentsOfFilearrayWithContentsOfFile一样简单。

Apple Property List Programming Guide中将进一步介绍此主题。

无论如何,要写一个plist(注意,我正在写Documents文件夹中的plist,因为你无法将文件写入你的包中:

NSArray *array = [NSArray arrayWithObjects:@"Mo", @"Larry", @"Curly", nil];
NSString *documentFolder = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *documentPath = [documentFolder stringByAppendingPathComponent:@"test.plist"];

[array writeToFile:documentPath atomically:YES];

要从plist中读取(请注意,我正好在阅读上面创建的plist,但显然你可以从你的包中读取plist(使用Rocky的技术)或从你的Documents文件夹中读取) :

NSString *documentFolder = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *documentPath = [documentFolder stringByAppendingPathComponent:@"test.plist"];

_array = [NSArray arrayWithContentsOfFile:documentPath];

然后您可以使用该数组(或字典,如果您使用它)来填充表视图。

答案 1 :(得分:-1)

NSArray *array = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"plistfilename" ofType:@"plist"]];

它会帮助你。