我在读艾丽卡·萨顿的iPhone Developer's Cookbook篇文章,突然遇到了一个问题.

她在书中说,找到用户文档目录的方法是使用以下代码:

[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];

但这似乎有点脆弱,与Mac的正常做法不同,即:

NSSearchPathForDirectoriesInDomains(NSDocumentsDirectory, NSUserDomainMask, YES);

有什么特别的原因可以使用其中一个而不是另一个吗?

推荐答案

Objc:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)

Swift :

var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)

您需要返回数组的第一个元素.

Objective-c相关问答推荐

我在哪里可以找到 info.plist 文件?

将谷歌 map 添加为子视图会使 iOS 应用程序因 exc_bad 崩溃

协议与类别

如何可靠地检测 iOS 9 上是否连接了外部键盘?

保存 UIImage,以错误的方向加载它

iOS 应用程序下一个键不会转到下一个文本字段

NSTimeInterval 格式

如何在目标 C 中创建单例类

Objective-C 中的 const 与静态 NSStrings

如何在 iPhone 上默认显示数字键盘?

如何为图层 shadowOpacity 设置动画?

Objective-C - 何时使用touch

在 ios8 中没有调用 didRegisterForRemoteNotificationsWithDeviceToken,但是 didRegister...Settings 是

Lipo错误!!无法打开输入文件

iOS6:supportedInterfaceOrientations 不起作用(被调用但界面仍然旋转)

如何在Objective C(NSRegularExpression)中编写正则表达式?

NSManagedObjectContext:异常断点在 save: 方法处停止,但没有日志(log)/崩溃/错误

Objective-C 中的 NSString indexOf

通过点击状态栏滚动到 UITableView 的顶部

判断 UIViewController 是否即将从导航堆栈中弹出?