self参数在函数调用中意味着什么?

时间:2016-09-29 23:04:51

标签: swift

在下面的函数中调用.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
    }

2 个答案:

答案 0 :(得分:1)

“self”引用当前对象。将其作为参数传递意味着第一个参数是该类的对象。 “self”关键字在Java,javascript或c中等同于“this”,如果它可以帮助您解决它或查找它。

关于为什么第一个参数不需要名称,swift语言就是这样定义的。猜猜它是从objectice-c中获取的,你为每个参数设置名称,除了第一个参数。

答案 1 :(得分:0)

self指的是调用该方法的对象。在这里,它被用作将该对象传递给另一个方法的方法。