我下载了一些以前适用于编码器的代码,编码器能够在他的应用程序上正常运行。
但是,当我尝试使用代码将数据保存到 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!
进行向下转型。
不必有前缀:NSSearchPathDirectory
和 NSSearchPathDomainMask
,因为它们将从参数类型中推断出来。
使用 .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/