2011-02-12 39 views
1

编辑:在UITableView显示一个plist

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

好吧,

我一直在试图永远这并不能得到任何工作。我的问题是:如何以编程方式向plist添加字符串。我如何在UITableView中显示plist?

感谢,

泰特

+0

如果你想“保存”数据,你需要添加textView.text到数组(可能是一个NSMutableArray)。然后,您将使用新的表视图将引用传递给视图控制器,以便它可以使用它来填充视图。如果需要,您可以选择将数据阵列保存到设备。 – TigerCoding 2011-02-12 23:25:17

回答

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之间的某种同步,你做错了。在这种情况下,你应该再问一次。

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

+0

请参阅编辑。 – tallen11 2011-02-12 23:01:44

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* [email protected]"Test"; 

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

NSArray* anArray; 

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

好吧,我现在就试试这个,我会让你知道它在一秒钟内是如何发生的。 – tallen11 2011-02-12 22:51:39

+0

它没有工作,请参阅编辑。 – tallen11 2011-02-12 23:00:58