2011-02-12 64 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