Uitableview 在Xcode中保存表视图

Uitableview 在Xcode中保存表视图,uitableview,xcode4,saving-data,Uitableview,Xcode4,Saving Data,您好,我需要一些帮助,了解如何将“用户”所做的新配置保存到表视图中 我对如何在AppDelegate.h和.m中实现这一点有点熟悉,但问题是我使用的是基于导航的应用程序,它为您提供了代理和ViewController 当用户切换到新视图时,如何编程以保存新表视图。有没有一种不需要通过AppDelegate完成的方法 谢谢最好的方法是将tableView的数据源保存到documents目录中的.plist文件中。然后,在ViewWillDisplay方法中,将tableView的数据源设置为.pl

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

我对如何在AppDelegate.h和.m中实现这一点有点熟悉,但问题是我使用的是基于导航的应用程序,它为您提供了代理和ViewController

当用户切换到新视图时,如何编程以保存新表视图。有没有一种不需要通过AppDelegate完成的方法


谢谢

最好的方法是将tableView的数据源保存到documents目录中的.plist文件中。然后,在ViewWillDisplay方法中,将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;
}
要从documents目录加载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];
 }
祝你好运