【问题标题】:NSSearchPathForDirectoriesInDomains returning empty path?NSSearchPathForDirectoriesInDomains 返回空路径?
【发布时间】:2010-12-16 01:21:48
【问题描述】:

如果我有以下情况,iOS 上的 NSSearchPathForDirectoriesInDomains 何时会返回 0 路径:

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

NSLog(@"paths: %d", [paths count]);

if ([paths count] > 0)
{
    // path exists and is the 1st item in the array
}
else
{
    // path doesn't exist. Under what conditions would it not exist?
}

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

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

    添加“s”

    【讨论】:

    • 抱歉,这是我的错字。我很好奇什么时候会有 0 个路径(使用正确的 API 名称)
    【解决方案2】:

    我怀疑这只是防御性编码。我不明白为什么那个确切的调用会返回 0 个路径,但是 NSSearchPathForDirectoriesInDomains() 方法可能会处理传递给它的不同参数。

    另外,即使路径存在,文档说这并不能保证实际的目录存在,所以理想情况下你也需要在那里进行另一次检查,尽管对于 NSDocumentDirectory 我怀疑大多数人,包括我自己,只是假设它会在那里 - 不明白为什么它不会......

    【解决方案3】:

    我认为那里没有崩溃。只是编译器停在错误的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-24
      • 2023-03-08
      • 2014-01-18
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      相关资源
      最近更新 更多