- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 iOS 上查找本地可写 Library 目录位置的常用方法是 NSSearchPathForDirectoriesInDomains
,像这样:
NSString *thedir = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)[0];
在 ios7 上,返回 /var/mobile/Applications/<app-GUID>/Library
我的问题:
NSSearchPathForDirectoriesInDomains
上面(使用上面使用的参数)保证返回一个始终只有一个条目的数组?(明显的)问题是返回的数组不能保证确定性排序:假设您将一些数据写入库中的文件目录,并且您希望在后续 session 中访问它。您如何知道在第二个 session 中您在第一届 session ? (是的,您可以将位置写入文件,但是如何确定性地访问存储该位置的文件?(缺少使用 NSUserDefaults 完成所有事情的 hacky/丑陋解决方案))
这个问题也适用于:
NSDocumentDirectory
参数-[NSFileManager URLsForDirectory:inDomains:]
是的,根据我的经验观察,这些方法总是返回一个唯一的条目(当与 NSUserDomainMask
一起使用时),但会欣赏权威来源(甚至引用源代码——如果它是开源的)
最佳答案
我不能说任何关于保证的事情,但从 this function 的文档来看。和 the related NSFileManager methods that return URLs (which Apple advises you use instead) ,看起来很清楚,从 domainMask
参数中的值到返回数组中的目录应该存在一对一的映射。
在 iOS 中,您可能只会在返回的数组中看到一项,因为沙盒应用程序只能看到其沙盒中的文件 - 沙盒中仅包含 NSUserDomainMask
的文件,所以这就是唯一适合搜索的域。
但这些 API 与 OS X 共享(并反射(reflect)了可追溯到 NeXTSTEP 的传统),后者在文件系统中具有目录域的概念。如果您正在制作一个 Mac 应用程序,需要查找可能安装在用户级别(例如在 ~/Library
中)或本地计算机级别(在 /Library 中)安装的资源
),或者预装操作系统(在 /System/Library
中),您可以使用这些 API 之一来获取适当的路径以及搜索它们的顺序(因为用户资源应覆盖系统资源等)。
关于ios - NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) 可以返回多个条目吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24482101/
Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_PROTECTION_FAILURE at 0x2fc30fec Cra
我是 iPhone objectiveC 开发的新手。当我运行以下方法时出现内存泄漏。 - (NSString *) getDBPath { NSArray *paths = NSSearch
我正在尝试从磁盘保存并稍后加载图像。以下内容适用于模拟器,但当我在设备上测试时,我得到 unexpectedly found nil while unwrapping an Optional valu
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-top
我花了很长时间但没有运气解决以下问题: 我试图访问文档目录。 以下两个代码都可以完美运行。有人能告诉我有什么区别吗 最后一个对象和 objectAtIndex:0 NSArray *searchPat
我刚刚研究了检查文件是否存在的代码: NSString *path; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDi
我使用 URLConnection 从 url 下载文件并将该数据存储到文档目录中的文件中。当我收到响应时,当 didReceiveResponse: 方法被调用时,我创建文件并以这种方式移动到该文件
按照建议,我们使用以下代码来检索用户文档的路径 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NS
我正在尝试处理目录。不幸的是,当我运行 NSSearchPathForDirectoriesInDomains 时,我得到了一个不可写的目录。我得到的是: /Users/me/Library/Appl
我很快就秃头了,需要帮助! 我正在编写一个需要访问目录的应用程序。我希望得到一种形式的路径/Users/me/Library/Application Support/iPhone Simulator/
我使用下面的代码来获取应用程序支持目录: NSString * supportDir = [NSSearchPathForDirectoriesInDomains(NSApplicationSuppo
我正在 OS X Yosemite 上的 Xcode 6 中开发 Swift/Obj-C franken-app。我正在尝试在运行 iOS 8 的第 5 代 iPod Touch 上运行它。 几天前我
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] 我以前知道向对
我正在使用 NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) 在我的应用程序中获取应用程序
我有一个录音机应用程序,其中录制的声音是这样存储的: let dirPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.Use
为什么 NSSearchPathForDirectoriesInDomains 返回一个 NSArray 而不是一个找到路径的 NSString? 最佳答案 根据 NSSearchPathDirect
我想将图像保存到 iPhone 的用户域,因此我编写了以下代码。 let path = NSSearchPathForDirectoriesInDomains(NSSearchPathDirector
NSSearchPathForDirectoriesInDomain 函数仍然是获取 iPhone 文档目录路径的最佳方法吗?我问这个问题是因为我看到的大多数主题都是去年的,而且这似乎仍然是获取 iP
在 iOS 上查找本地可写 Library 目录位置的常用方法是 NSSearchPathForDirectoriesInDomains ,像这样: NSString *thedir = NS
有人能告诉我为什么这段代码会失败吗?调用 initWithString 后 url 为 nil。正在成功填充变量 documentsDirectory。 NSArray *paths = NSSe
我是一名优秀的程序员,十分优秀!