我花了很长一段时间,但在以下问题上没有运气:

我试图访问文档目录。

以下两个代码都可以正常工作。有人可以告诉我之间有什么区别
    最后一个对象和objectAtIndex:0

NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [searchPaths lastObject];


要么

NSString *documentPath = [searchPaths objectAtIndex:0];


最接近的问题是How to get URL for application's document directory iPhone,但没有解释lastObject和objectAtIndex:0之间的区别。

我已经阅读了Apple Developer Library。它只说“此方法返回的目录可能不存在。此方法只是为您提供所请求目录的适当位置。根据应用程序的需要,开发人员可以自行决定创建适当的目录以及之间的目录。”有人请帮助,谢谢。

最佳答案

在这种情况下,[searchPaths lastObject][searchPaths objectAtIndex:0]之间没有区别,因为searchPaths仅包含一个条目。用户域仅包含一个文档目录。

如果您尝试此操作,则会得到不同的结果:

NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(
    NSApplicationDirectory, NSAllDomainsMask, YES);

关于iphone - 关于NSSearchPathForDirectoriesInDomains,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8484737/

10-10 20:42