0

您好,我需要一些帮助来了解如何将“USER”所做的新配置保存到表视图中。

我对如何“在 AppDelegate.h 和 .m”中完成此操作有点熟悉,但问题是我使用的是基于导航的应用程序,它为您提供了委托和 ViewController。

当人们切换到新视图时,我如何对其进行编程以保存新的表格视图。有没有一种方法不需要通过 AppDelegate 来完成?

谢谢你

4

1 回答 1

2

最好的方法是将 tableView 的数据源保存到文档目录中的 .plist 文件中。然后在您的 viewWillAppear 方法中,将 tableView 的数据源设置为 .plist 文件(如果可用)。

数据源通常是 NSDictionary/Mutable 或 NSArray/Mutable。它们都有写入文档目录的方法,可以像这样检索:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

将列出的其中一个写入文档目录的方法如下:

BOOL saved = [datasource writeToPath:[documentsDirectory stringByAppendingPathComponent:@"savedDatasource.plist"] atomically:YES];

if (saved) {
//saved datasource to .plist file.
}
else if (!saved) {
//did not save;
}

要从文档目录加载 plist,首先需要检查它是否存在:

if ([[NSFileManager defaultManager] fileExistsAtPath:[documentsDirectory stringByAppendingPathComponent:@"savedDatasource.plist"]]) {
         countryMArray = [[NSMutableArray alloc] initWithContentsOfFile:[documentsDirectory stringByAppendingPathComponent:@"savedDatasource.plist"]];
 }
 else {
     //it is not there, we need to write it to the documents directory
     [datasource writeToPath:[documentsDirectory stringByAppendingPathComponent:@"savedDatasource.plist"] atomically:YES];
 }

祝你好运!

于 2011-05-02T00:09:14.293 回答