【问题标题】:"[[NSBundle mainBundle] objectForInfoDictionaryKey:]" sometimes returns nil“[[NSBundle mainBundle] objectForInfoDictionaryKey:]” 有时返回 nil
【发布时间】:2014-05-12 03:08:52
【问题描述】:

我正在尝试从infoDictionary 中检索一些URLs。 10 次中有 9 次正确返回 URLs。但是,URLs 偶尔会返回 nil。知道是什么导致了这种行为吗?

[NSBundle mainBundle][[NSBundle mainBundle] infoDictionary] 在发生这种奇怪行为时都不为零。只有 URLs 返回 nil。

【问题讨论】:

  • NSLog(@"infoDictionary: %@", [[NSBundle mainBundle] infoDictionary]); 看看那里有什么。但是您并没有尝试保存到应用程序包中,是吗,这在 iOS 中是不可能的。
  • @Zaph 我没有编写这段代码,所以我试图弄清楚这些 URL 是如何存储在 infoDictionary 中的。当我 NSLog infoDictionary 时,我看不到 URL 的键。无论 URL 是否正确返回,URL 键都不存在。

标签: ios


【解决方案1】:

在 iOS 中,无法写入应用程序包,因此尝试这样做会失败。通常,数据被写入和读取应用程序文档目录中的文件,可以通过以下方式获取:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths firstObject];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:myFileName];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    相关资源
    最近更新 更多