【问题标题】:Add index in plist file programmatically以编程方式在 plist 文件中添加索引
【发布时间】:2013-04-25 12:35:33
【问题描述】:

我正在以编程方式创建一个直接指向文档目录的 plist 文件。这是我的代码..

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myList.plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];

if (![fileManager fileExistsAtPath: path])
{
    path = [documentsDirectory stringByAppendingPathComponent: [NSString stringWithFormat: @"myList.plist"] ];
}
NSMutableArray *data ;
if ([fileManager fileExistsAtPath: path])
{
    data = [[NSMutableArray alloc] initWithContentsOfFile: path];

}
else
{
    // If the file doesn’t exist, create an empty dictionary
    data = [[NSMutableArray alloc] init];
}
data = [[NSMutableArray  alloc] initWithCapacity:5];
[data addObject:value1];
[data addObject:value2];
[data addObject:value3];

它使用这种格式创建 plist 文件..

<array>
        <string>1</string>
        <string>2</string>
        <string>3</string>
</array>

现在,我想为其添加另一个索引,例如,

<array>
        <string>1</string>
        <string>2</string>
        <string>3</string>
</array>
<array>
        <string>11</string>
        <string>22</string>
        <string>33</string>
</array>  

如何以编程方式在我的 plist 文件中添加索引?
任何帮助或建议将不胜感激!

谢谢

【问题讨论】:

  • 你想在你的 plist 中创建一个数组数组吗?还是继续为数组添加索引?
  • 想要添加一个或多个数组。

标签: ios xcode arrays indexing plist


【解决方案1】:

试试

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myList.plist"];

NSMutableArray *data = [[NSMutableArray alloc] initWithContentsOfFile: path];
if (!data) {
    data = [NSMutableArray array];
}

[data addObject:@[value1,value2,value3]];

[data writeToFile:path atomically:YES];

【讨论】:

  • 你又救了我..!!完美运行..!!再次感谢..!!
  • @iUser 很高兴听到这个消息,一切顺利。
【解决方案2】:

您应该将您的 plist 组织为字典。对应于每个键,您可以存储数组对象。这很容易。将您的数组存储到 NSDictionary 中,并使用正确的键作为索引号。然后将字典添加到 plist

<dict>
  <key>0</key>
  <array>
      <string>1</string>
      <string>2</string>
      <string>3</string>
  </array>
  <key>1</key>
  <array>
      <string>11</string>
      <string>22</string>
      <string>33</string>
  </array>
</dict>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    相关资源
    最近更新 更多