我该如何将这个Objective-C对象放到本地文件中?

问题描述:

我有一个加载了一堆TableViews的iPhone应用程序。用户加载它从远程服务器下载上传.json应用程序第一次,分析该成的NSDictionary和本地保存它的设备作为的.plist上。我该如何将这个Objective-C对象放到本地文件中?

不幸的是,我无法弄清楚如何将数据加载后做了一个的MainWindow.xib reloadTable,所以只有退出并重新进入应用它位于空白。我可以花几个小时试图弄清楚如何重新加载TableView或者只是用.plist文件预先加载应用程序。据推测,我只是将文件放入资源文件夹或XCode中的东西,这似乎是更简单的选项。

我的问题是,由于数据被保存在的.plist我不能只加载我的服务器上使用以.json文件。在本地文件中创建.plist对象的最佳方法是什么?我希望我可以,你知道,通过电子邮件发送给自己或从设备模拟器或东西拉,但是这将是方式容易。

是的,如果你把一个文件的.plist在资源文件夹中的Xcode它会被内置到应用程序。你会发现它的路径的东西,如:

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Defaults" ofType:@"plist"]; 

你其实应该能够抢到的.plist的副本提交您的应用程序从模拟器文件系统创建。看里面:

~/Library/Application Support/iPhone Simulator/User/Applications/XXXXX/Documents 

(其中XXXXX是一个非常长的随机十六进制字符串)。

你可以使用的通知,从负责下载并缓存JSON数据表视图代码发送消息:

// add observer to table view 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadTableView) name:@"jsonDownloaded" object:nil]; 

// send notification from json downloader 
[[NSNotificationCenter defaultCenter] postNotificationName:@"jsonDownloaded" object:self]; 

或者,如果表视图拥有JSON-下载代码,可以考虑使用与会代表。