2014-06-17 17 views
1

我想在Swift中使用NSArrayarrayWithContentsOfFile方法,因爲我必須從文件的內容創建一個Swift數組,但是如何從Swift代碼中調用它?如何從Swift中調用Objective-C的NSArray類方法?

由於arrayWithContentsOfFile:在Objective-C內置的NSArray類型實現一個類的方法,我不能把它稱爲this post,它通過類型轉換調用一個實例方法雨燕的Array到Objective-C的NSArray

那麼有什麼方法可以調用該方法或任何類似的方法嗎?

回答

5

該方法可以在夫特被稱爲像這樣: NSArray(contentsOfFile: "PATH")

使用方法如下所示:NSArray.arrayWithContentsOfFile("PATH")已被棄用。

這是一個構造函數,應該按以下方式使用:

var array = NSArray(contentsOfFile: "PATH") 
+0

從技術上講,有兩種這裏所說的不同的方法。在Objective-C中,NSArray(contentsOfFile:「PATH」)調用'-initWithContentsOfFile:',而'NSArray.arrayWithContentsOfFile(「PATH」)'(注意:不是'withContentsOfFile')調用'+ arrayWithContentsOfFile:'。當初始化器可用時,初始化器確實比類方法更受歡迎。 – newacct

+0

@newacct是的;然而,'NSArray.arrayWithContentsOfFile(「PATH」)'已被棄用,因此不應該使用,正如我在我的答案中所述。 – jbman223

+2

它不僅僅被棄用,它在Swift中不可用。編譯器將ObjC初始化器映射到Swift初始化器,然後禁用ObjC便捷構造器,因爲只知道調用相似名稱的初始化器。 – rickster

相關問題