ios - UserDomainMask - 什么取代了它?

标签 ios swift xcode6

我下载了一些以前适用于编码器的代码,编码器能够在他的应用程序上正常运行。

但是,当我尝试使用代码将数据保存到 iPhone 内存时,我收到一条错误消息,指出使用未解析的标识符 UserDomainMask..

我尝试使用 NSUserDomiainMask 来替换它,但这似乎并不能解决问题。 看来该编码员可能在他的应用程序中使用了 Xcode6 的 Beta 版本。

谁能告诉我下面代码中应该用什么替换UserDomainMask

这里是代码:

func documentsDirectory() -> string {
    let documentsFolderPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask, UserDomainMask, true)[0] as String
    return documentsFolderPath
}

亲切的问候。

删除

最佳答案

NSSearchPathDomainMask, UserDomainMask 不正确,需要将其合并为一个参数:NSSearchPathDomainMask.UserDomainMask

as 需要为 as! 进行向下转型。

不必有前缀:NSSearchPathDirectoryNSSearchPathDomainMask,因为它们将从参数类型中推断出来。

使用 .first' 比使用 [0] 建立索引更安全

用途:

Swift 2.x

let documentsFolderPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first as! String

完整方法:

func documentsDirectory() -> String {
    let documentsFolderPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first as! String
    return documentsFolderPath
}

Swift 3

func documentsDirectory() -> String {
    let documentsFolderPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first
    return documentsFolderPath!
}

关于ios - UserDomainMask - 什么取代了它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30779215/

相关文章:

iphone - 在 iOS iPhone 模拟器上安装 TestFlight 应用程序 - 注册失败

ios - 如何从objective-c中的类名称获取静态/可重定位框架名称

swift - 当我以编程方式添加按钮和标题时,为什么按钮和标题没有显示在导航栏上?

objective-c - 使用 Swift 的 Google map GMSGroundOverlay 委托(delegate)

c# - iOS:缺少条形样式外观的 Monotouch 绑定(bind)?

ios - URLSession - 下载远程目录

swift - 在 Swift 中将两个字节的 UInt8 数组转换为 UInt16

arrays - 将 nil 排序到可选字符串数组的末尾

ios - 访问 UIViewcontroller.traitCollection 编译但崩溃我的应用程序

swift - Xcode 6 Beta/Swift - Playground 不更新