2015-02-23 84 views
1

在Xcode中,當我從uiimage類聲明一個對象時,有一個init方法被聲明爲init?(named name:String),所以我想知道什麼是命名爲關鍵字?Xcode中的(named)關鍵字是什麼?

+0

這就是所謂的內部和外部的關鍵字/參數標籤。在這個問題上檢查我的答案。 http://stackoverflow.com/questions/28677431/understanding-swift-notation-in-function-tableview/28677697?noredirect=1#comment45651771_28677697 – Christian 2015-02-23 17:30:57

回答

0

在斯威夫特在聲明這樣的功能...

func foo(bar barName: String) 

然後自動完成將顯示bar但內部變量名是barName

IIRC它只是爲了方便。它提供函數外部的上下文和函數內部的合理變量名稱。

如果沒有這個函數,函數內部的變量將被稱爲named而不是name

0

根據命名文檔

文件的名稱。如果這是第一次加載圖像 ,則該方法將在 應用程序的主包中查找具有指定名稱的圖像。

例如,如果你有資源icon.png。你可以像這樣創建的UIImage:

let image = UIImage(named:"icon") 

關鍵字在這個方法內部使用。例如,如果您需要繼承UIImage並覆蓋init?(named name: String) -> UIImage,則將在此方法內使用名稱關鍵字來引用圖像名稱。

0

named是您調用init時使用的外部參數名稱。

name是,這是使用的init

前本地/內部參數名:

class x { 
var a:Int 
init(named name:Int){ 
    a = name // you cant use named here 
} 
} 
var instance = x(named: 4) // you cant use name here