- (NSURL*)applicationDataDirectory {
NSFileManager* sharedFM = [NSFileManager defaultManager];
NSArray* possibleURLs = [sharedFM URLsForDirectory:NSApplicationSupportDirectory
inDomains:NSUserDomainMask];
NSURL* appSupportDir = nil;
NSURL* appDirectory = nil;
if ([possibleURLs count] >= 1) {
// Use the first directory (if multiple are returned)
appSupportDir = [possibleURLs objectAtIndex:0];
}
// If a valid app support directory exists, add the
// app's bundle ID to it to specify the final directory.
if (appSupportDir) {
NSString* appBundleID = [[NSBundle mainBundle] bundleIdentifier];
appDirectory = [appSupportDir URLByAppendingPathComponent:appBundleID];
}
return appDirectory;
}
8条答案
按热度按时间oknrviil1#
这是过时的,对于当前的最佳实践,请使用
FileManager.default.urls(for:in:)
,如下面@andyvn22的注解所示。最佳实践是将
NSSearchPathForDirectoriesInDomains
与NSApplicationSupportDirectory
一起使用,因为它可能是“冗长的”。示例:
NSLog输出:
py49o6xq2#
斯威夫特:
或
和
jckbn6z73#
雨燕三号
xam8gpfp4#
只是为了确保人们会开始使用推荐的方法来做这件事:
文档中的扩展示例:
校样链接:https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/AccessingFilesandDirectories/AccessingFilesandDirectories.html#//apple_ref/doc/uid/TP40010672-CH3-SW3
tez616oj5#
这对我很有效:
ecfdbz9o6#
这是我用来获取数据库的。从斯坦福大学的课上拿来的。它可能会帮助一些人。
lyfkaqu17#
创建一个单独的目标C类,用于阅读文档目录。我将避免代码重写。下面是我的版本。
ubby3x7f8#
iOS 16更新:
URL.applicationSupportDirectory
,他们还为documentsDirectory
添加了一个静态属性