通过下载iOS更新Plist文件

贵族

我在Apple应用商店上有一个测验应用。问题存储在Plist文件中。我想要做的是找到一种方法,可以通过下载新版本来更新Plist文件,而不必每次有新问题要提交时都提交更新

有谁知道可以帮助我的体面的教程?

非常感谢。

克里斯·伍德

我不确定教程,但是实现您所描述的步骤非常简单:

  1. 创建对您的远程数据的url请求
  2. 解析返回的数据
  3. 将解析的数据写入新的本地plist

例如:

// Create a NSURL to your data
NSString *dataPath = @"www.mydata.com/path";
NSURL *dataURL = [NSURL URLWithString:dataPath];

// Create an asycnhronous request along with a block to be executed when complete
[NSURLConnection sendAsynchronousRequest:[[NSURLRequest alloc] initWithURL:dataURL]
                                   queue:[[NSOperationQueue alloc] init]
                       completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
 {
     if (error) {
         NSLog(@"%@", error.localizedDescription);
         // Handle the request error
     }
     else {
         // We have some data, now we need to serialize it so that it's usable
         NSError *serializationError;
         NSDictionary *serializedDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&serializationError];
         if (serializationError) {
             NSLog(@"%@", serializationError.localizedDescription);
             // Handle the serialization error
         }
         else {
             // We have a serialized NSDictionary, now we just want to write it
             // First we create the path to write it to, eg. uers documents directory
             NSURL *documentsDirectory = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
             // Then write it
             BOOL success = [serializedDictionary writeToFile:documentsDirectory.path atomically:YES];
             if (!success) {
                 NSLog(@"Error writing file");
             }
         }
     }
 }];

注意:您可能需要考虑将数据存储在像Parse这样的远程数据库中这样,您可以查询新问题,而仅下载新问题,这样就不会占用不必要的带宽。您可能还需要考虑Core Data用于维护本地数据,而不是将其写入plist。主要优点是您不必将整个plist序列化到内存中即可使用它-您只需查询所需的特定问题即可。

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android-通过更新进度栏下载文件

来自分类Dev

iOS解析如何通过URL下载文件

来自分类Dev

iOS通过文件或通过nsdata将UIImage保存在plist中?

来自分类Dev

iOS通过文件或通过nsdata将UIImage保存在plist中?

来自分类Dev

无法下载GoogleService-Info.plist文件

来自分类Dev

通过Cordova config.xml将条目添加到iOS .plist文件

来自分类Dev

如何在ios中的Plist文件中保存,检索,删除和更新我的数据?

来自分类Dev

通过内置下载服务下载文件

来自分类Dev

如何通过plist文件创建NSMutableArray?

来自分类Dev

通过Rest下载CSV文件

来自分类Dev

通过Yii下载文件

来自分类Dev

通过Ajax下载文件

来自分类Dev

通过URL下载的打开文件

来自分类Dev

通过Rest下载CSV文件

来自分类Dev

通过 Python 下载 JSON 文件

来自分类Dev

Info.plist文件未更新位置

来自分类Dev

备份apt更新下载的文件

来自分类Dev

仅当自上次更新以来已更改时才通过http下载文件

来自分类Dev

手动下载android obb文件,通过Play Store应用更新后删除

来自分类Dev

从iOS项目捆绑中读取plist文件

来自分类Dev

无法在IOS中创建plist文件

来自分类Dev

KIVY(Python)线程无法通过在iOS中调用Objective C方法下载文件

来自分类Dev

下载文件WKWebView iOS

来自分类Dev

iOS Swift下载文件

来自分类Dev

NSURL用于下载的文件或通过其他方式获得的文件,以打开iOS应用程序,其文件路径是:什么?

来自分类Dev

PDFSharp通过文件流下载文件

来自分类Dev

如何在iOS应用中下载,更新和读取XML文件?

来自分类Dev

文件未下载更新文件

来自分类Dev

如何通过jenkins更新xcode的plist中的版本号

Related 相关文章

热门标签

归档