2014-09-02 18 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