我花了很长时间但没有运气跟随问题:
我试图访问Document目录。
以下代码均可完美运行。有人能告诉我它们之间的区别 last object和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。它只说'此方法返回的目录可能不存在。此方法只是为您提供所请求目录的适当位置。根据应用程序的需要,可能由开发人员创建适当的目录以及介于两者之间的任何目录。有人请帮忙,谢谢。
答案 0 :(得分:3)
在这种情况下,[searchPaths lastObject]
和[searchPaths objectAtIndex:0]
之间没有区别,因为searchPaths
只包含一个条目。用户域只包含一个文档目录。
如果你试试这个,你会得到不同的结果:
NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(
NSApplicationDirectory, NSAllDomainsMask, YES);
答案 1 :(得分:0)
searchPaths
, NSAllDomainsMask
可能包含多个目录。
从Xcode 5开始,最佳做法是:
NSString *documentPath = [searchPaths firstObject];