为什么
-(void)addSimpleListener:(id<XXSimpleListener>)listener
转换为快速外观,如下所示:
func add(_ listener: XXSimpleListener?) {
}
但是将方法更改为此
-(void)addSimpleListener:(id<XXSimpleListening>)listener
它将转换为此
func addSimpleListener(_ listener: XXSimpleListening?){
}
答案 0 :(得分:0)
Xcode(或用于转换的任何工具)仅在Swift API guidelines之后。具体来说:
省略不必要的单词。名称中的每个单词都应在使用地点传达重要信息。
可能需要更多的单词来澄清意图或歧义,但应省略那些读者已经拥有的多余信息。特别是,省略仅重复类型信息的单词。
在第一种情况下,SimpleListener
中的单词addSimpleListener
重复了参数的类型,因此将它们从方法名称中删除。但是,在第二种情况下,SimpleListener
和SimpleListening
在您使用的任何工具上看起来都不一样,因此认为应该保留SimpleListener
。
不过,根据我(人类)的观点,我认为该方法应命名为addListener
,因为:
有时,重复类型信息对于避免歧义是必要的,但是通常最好使用描述参数的 role 的单词而不是其类型。
Listener
是参数的作用。