获取iOS应用程序';s&x201C~/图书馆&x201D;Swift中的可靠路径
我想在iOS设备的swift应用程序中获得一个目录,在那里我可以创建文件并向文件写入日志。我在这里读到,使用Objective-C,有一个解决方案。我试着用swift这样写:获取iOS应用程序';s&x201C~/图书馆&x201D;Swift中的可靠路径,ios,swift,Ios,Swift,我想在iOS设备的swift应用程序中获得一个目录,在那里我可以创建文件并向文件写入日志。我在这里读到,使用Objective-C,有一个解决方案。我试着用swift这样写: var appDir = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, true) 但是,NSLibraryDirectory和NSUserDomainMask在Swift中似乎不存在。如何做到这一点是Swift?解决方
var appDir = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, true)
但是,NSLibraryDirectory和NSUserDomainMask在Swift中似乎不存在。如何做到这一点是Swift?解决方案:
var appDir = NSSearchPathForDirectoriesInDomains(.LibraryDirectory, .UserDomainMask, true)
解释:您可以单击方法并查看其声明
func NSSearchPathForDirectoriesInDomains(directory: NSSearchPathDirectory, domainMask: NSSearchPathDomainMask, expandTilde: Bool) -> [AnyObject]!
如您所见,它需要NSSearchPathDirectory
enum和
NSSearchPathDomainMask
struct
在swift中,当您使用枚举时,不需要指定枚举类型,您可以使用大小写值本身
.LibraryDirectory
而不是NSSearchPathDirectory.LibraryDirectory
在哪里记录了NSLibraryDirectory到.LibraryDirectory(或类似)的转换?我想了解为什么一个选项以开头,而另一个选项需要一个名称空间,请查看我的编辑来回答。Xcode为所有类生成Swift头。如果单击NSSearchPathForDirectoriesInDomains。它将向您显示带有Swift声明的Foundation->NSPATCH Utilities文件。有一个Xcode错误,当您单击一个方法并希望查看文档时,它有时无法显示Swift类。(这是因为斯威夫特仍处于测试阶段)。然后尝试重新启动Xcode,有时会有帮助。第二个参数也可以缩短为。UserDomainMask
@KostiantynKovalNSSearchPathForDirectoriesInDomains
和FileManager.default.URL(用于:.libraryDirectory,位于:.UserDomainMask中)
?