编辑:
好的,基本上,我在视图控制器上有一个UITextView,还有一个保存按钮。点击保存按钮时,我希望将UITextView的文本保存到plist。然后,在一个完全独立的视图控制器上,我想要一个UITableView来显示保存的文件。希望这是有道理的。
确定,
我一直在尝试这个,但无法得到任何工作。我的问题是:如何以编程方式向plist添加字符串。如何在UITableView中显示该plist?
谢谢,
泰特
答案 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文件。