在UITableView中显示plist

时间:2011-02-12 21:32:03

标签: iphone xcode uitableview plist

编辑:

好的,基本上,我在视图控制器上有一个UITextView,还有一个保存按钮。点击保存按钮时,我希望将UITextView的文本保存到plist。然后,在一个完全独立的视图控制器上,我想要一个UITableView来显示保存的文件。希望这是有道理的。

确定,

我一直在尝试这个,但无法得到任何工作。我的问题是:如何以编程方式向plist添加字符串。如何在UITableView中显示该plist?

谢谢,

泰特

3 个答案:

答案 0 :(得分:3)

这是将NSString添加到存储在plist文件中的NSArray的方法。

NSArray *array = [NSArray arrayWithContentsOfFile:path];
NSMutableArray *mutableArray = [array mutableCopy];
[mutableArray addObject:@"FooBar"];
[mutableArray writeToFile:path atomically:YES];
[mutableArray release];

但是每次添加字符串时都不需要将文件保存到磁盘。当您离开视图和/或离开应用程序时,很可能将其保存到磁盘。

你已经知道如何用plist文件创建一个NSArray,所以你可以使用这个NSArray作为UITableView的数据源,有很多教程,所以我省略了这一部分。

如果使用.plist在多个viewControllers之间进行某种同步,那么你做错了。在这种情况下,你应该再问一次。

答案 1 :(得分:1)

如果你的资源中有一个pList,你可以这样做:

NSString *file = [[NSBundle mainBundle] pathForResource:@"Workbook1" ofType:@"plist"];

//This will take care of all the data types, 
//so in the plist you can have dates, strings, numbers, dictionaries and arrays.        
NSArray *array= [NSArray arrayWithContentsOfFile:file];

获得阵列后,您可以将其用作UITableView的数据源。

要连接到plist,您可以使用大多数属性列表对象的方法:

NSString* aString=@"Test";

[aString writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile];

NSArray* anArray;

[anArray writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile];

答案 2 :(得分:0)

您必须将plist加载到数组中。

然后,您需要将单元格中的数据设置为普通的表格视图。

如果要将字符串添加到Plist,则需要将其保存到数组中,然后保存Plist文件。

http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/TableView_iPhone/AboutTableViewsiPhone/AboutTableViewsiPhone.html

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html