在运行时读取 plist 文件

巴拉特·苏雷什

我在我的程序中包含了一个 plist 文件并在本地调用它

     NSString *plistpath = [[NSBundle mainBundle] pathForResource:@"pli" ofType:@"plist"];
     NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:plistpath];
     NSArray *cont = [dict allValues];

我希望我的程序在我手动(而不是通过程序)更新文件时读取文件,在运行时从 plist 文件中添加或删除数据,而不必停止执行并再次开始运行它。有什么办法可以实现这一目标吗?

请帮忙

朴雅卡·帕蒂尔

这是将数据保存在 .plist 文件中的方法

NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);

// get documents path

  NSString *documentsPath = [paths objectAtIndex:0];

// get the path to our Data/plist file

 NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"myData.plist"];
                            NSError *writeError = nil;

 NSData *plistData = [NSPropertyListSerialization dataWithPropertyList:yourDictionary format:NSPropertyListXMLFormat_v1_0 options:NSPropertyListImmutable error:&writeError];

        if(plistData)
          {
             [plistData writeToFile:plistPath atomically:YES];
              NSLog(@"Data saved sucessfully");
          }
          else
          {
              NSLog(@"Error in saveData: %@", writeError.localizedDescription);

          }

从包中读取 plist 并从中获取根字典

 NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
 NSString *documentsPath = [paths objectAtIndex:0];
 NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"myData.plist"];


 if (![[NSFileManager defaultManager] fileExistsAtPath:plistPath])
    {
      plistPath = [[NSBundle mainBundle] pathForResource:@"myData" ofType:@"plist"];
    }

 NSDictionary *resultDic = [[NSDictionary alloc] initWithContentsOfFile:plistPath];

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章