【问题标题】:IOS: check a plist fileIOS:检查 plist 文件
【发布时间】:2011-05-20 14:12:29
【问题描述】:

我有这段代码:让模拟器在 plist 中写一个 NSmutableArray

 NSString *path = [[NSBundle mainBundle] pathForResource: @"Array" ofType:@"plist"];

if([Array writeToFile:path atomically: YES]){
    NSLog(@"write succesful");}
else {
    NSLog(@"write failed");
}

但是如何检查文件 plist 是否真的为空?

【问题讨论】:

  • 您在写入文件时遇到问题吗?还是你想读?

标签: xcode ios plist nsbundle


【解决方案1】:

写入文件。

[[NSFileManger defaultManager] createFileAtPath:path contents:plistData withAttributes:attributesDictionary];

检查文件中的数组。

NSDictionary *infoDictionary = [NSDictionary dictionaryWithContentsOfFile:path];
if ([infoDictionary count] == expectedIntegerValue) {
  NSLog(@"Success");
  if ([infoDictionary objectForKey:@"ARRAY_KEY"]) {
    NSLog(@"Found the array!");
  } else {
    NSLog(@"No Array Found.");
  }
} else {
  NSLog(@"Fail");
}

如果你只是想知道是否有任何键 [infoDictionary count] > 0.

【讨论】:

  • 我想确切地知道如何在 plist 文件中写入数组并检查该文件内是否有数组,但不适用于模拟器。
  • 糟糕,忘记了写入不在主包中的文件的代码。等一下。
  • 不是很清楚...你能写下我需要的所有内容吗?
【解决方案2】:

虽然此代码可在 iOS 模拟器中运行,但您将无法在 iOS 设备上写入您的应用程序包。

【讨论】:

  • 您可能想要写入文档文件夹:[[[NSFileManager defaultManager] URLsForDirectory: NSDocumentDirectory inDomains: NSUserDomainMask] lastObject]
猜你喜欢
  • 2012-05-11
  • 1970-01-01
  • 2018-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
相关资源
最近更新 更多