NSSearchPathForDirectoriesInDomains 返回空路径?
Posted
技术标签:
【中文标题】NSSearchPathForDirectoriesInDomains 返回空路径?【英文标题】:NSSearchPathForDirectoriesInDomains returning empty path? 【发布时间】: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?
【问题讨论】:
【参考方案1】:NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
添加“s”
【讨论】:
抱歉,这是我的错字。我很好奇什么时候会有 0 个路径(使用正确的 API 名称)【参考方案2】:我怀疑这只是防御性编码。我不明白为什么那个确切的调用会返回 0 个路径,但是 NSSearchPathForDirectoriesInDomains() 方法可能会处理传递给它的不同参数。
另外,即使路径存在,文档说这并不能保证实际的目录存在,所以理想情况下你也需要在那里进行另一次检查,尽管对于 NSDocumentDirectory 我怀疑大多数人,包括我自己,只是假设它会在那里 - 不明白为什么它不会......
【讨论】:
It just returned an empty array.【参考方案3】:我认为那里没有崩溃。只是编译器停在错误的位置。
【讨论】:
以上是关于NSSearchPathForDirectoriesInDomains 返回空路径?的主要内容,如果未能解决你的问题,请参考以下文章