2016-09-29 83 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引用该方法被调用的对象。在这里,它被用作将该对象传递给另一个方法的一种方式。

相关问题