2014-09-02 20 views
9

我想要获取我可以在iOS设备的swift应用中创建文件和将日志写入文件的目录。我在这里读到,https://stackoverflow.com/a/3763050/919280,使用Objective-C,有一个解决方案。我试图在迅速写这样的:在Swift中可靠地获取iOS应用程序的“〜/ Library”路径

var appDir = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, true) 

但是,NSLibraryDirectory和NSUserDomainMask似乎并不存在于雨燕。有什么办法做到这一点是斯威夫特?

回答

15

解决方案

var appDir = NSSearchPathForDirectoriesInDomains(.LibraryDirectory, .UserDomainMask, true) 

说明
您可以点击的方法,看它的声明。

func NSSearchPathForDirectoriesInDomains(directory: NSSearchPathDirectory, domainMask: NSSearchPathDomainMask, expandTilde: Bool) -> [AnyObject]! 

正如你可以看到它采用NSSearchPathDirectory枚举
NSSearchPathDomainMask结构。

在急速的,当您使用枚举,你并不需要指定枚举类型,你可以使用情况值本身 .LibraryDirectory,而不是NSSearchPathDirectory.LibraryDirectory

+1

哪里是NSLibraryDirectory到.LibraryDirectory记录(或类似)的转换?我想了解为什么一个选项开始,另一个需要命名空间 – Mark 2014-09-02 12:17:36

+1

请参阅我的编辑的答案。 Xcode为所有类生成Swift头文件。 如果您单击NSSearchPathForDirectoriesInDomains。 它会告诉你基金会 - > NSPatchUtilities文件与Swift声明 – 2014-09-02 12:20:22

+0

有一个Xcode错误,有时它不能显示Swift类,当你点击一个方法,并希望看到文档。 (这是因为Swift仍处于测试阶段)。然后尝试重新启动Xcode,它有时会帮助 – 2014-09-02 12:23:28