2016-09-29 32 views
0

在下面的函數調用.didSelectRating什麼是self參數(?)表示?這究竟是什麼?函數調用中的自變量是什麼意思?

我在幾次之前就已經看過這個,不知道如何瞭解這個語法,因爲我不知道要查找什麼。我明白第二個參數中的rating單詞是參數名稱,但我不明白逗號前面的第一個單詞是如何封裝名稱和參數的。

這是什麼叫,它在做什麼? self是這裏唯一使用的詞還是可以在這裏使用的其他東西?

protocol RatingPickerDelegate { 
    func preferredRatingSymbol(picker: RatingPicker) -> UIImage? 
    func didSelectRating(picker: RatingPicker, rating: Int) 
    func didCancel(picker: RatingPicker) 
} 


func selectRating(selectedRating: Int) { 
     delegate?.didSelectRating(self, rating: selectedRating) 
     // Other logic related to selecting a rating 
    } 
+0

參數標籤的要求從Swift 2更改爲Swift 3.我猜這個代碼是Swift 2;有關更多信息,請參閱https://github.com/apple/swift-evolution/blob/master/proposals/0046-first-label.md。 – sbooth

回答

1

「自我」引用當前對象。將它作爲參數傳遞意味着第一個參數是該類的一個對象。 「self」關鍵字是Java,javascript或c中的「this」的等價關係,如果它可以幫助您解除它或查找它的話。

關於爲什麼第一個參數不需要名稱,swift語言是這樣定義的。猜猜它是從objectice-c中獲得的,在這裏你爲除了第一個參數之外的每個參數都放置了名稱。

0

self引用該方法被調用的對象。在這裏,它被用作將該對象傳遞給另一個方法的一種方式。

相關問題