2014-09-21 94 views
0

我試圖快速學習,並圍繞這裏發生的事情圍繞我的大腦。任何指導都將不勝感激。這個swift函數發生了什麼?

這個例子是從swift tour

1. class Counter { 
2.  var count: Int = 0 
3.  func incrementBy(amount: Int, numberOfTimes times: Int) { 
4.   count += amount * times 
5.  } 
6. } 
7. var counter = Counter() 
8. counter.incrementBy(2, numberOfTimes: 7) 


問題1:在3行,爲什麼要使用它自己的「numberOfTimes」,而不只是「時間」?

問題2:在第八行,爲什麼我需要傳遞參數'numberOfTimes'的名稱而不是參數'amount'的名稱?

+3

你會發現在[函數參數名稱]所有的答案(https://developer.apple.com/library/ios/documentation/Swift/ Conceptual/Swift_Programming_Language/Functions.html#// apple_ref/doc/uid/TP40014097-CH10-XID_254) – Antonio 2014-09-21 15:13:44

+0

Both:因爲作者不想讓這個方法對其他人清楚。良好的代碼#1問題是讓其他開發人員易於閱讀和理解。 – zaph 2014-09-21 16:03:30

+0

@Antonio - 如果您發表評論作爲答案,我很樂意接受它。那正是我所期待的。 – 2014-09-21 17:08:33

回答

0

您可以找到有關在official documentation函數參數名你所有的答案。

具體而言,您應該閱讀有關外部參數名稱

2

1°)參數可以有外部名稱和內部名稱。調用該方法時將使用外部名稱,並在該方法內部使用內部名稱。所以你可以使用像tableView(tableView:UITableView, numberOfRowInSection section:Int)這樣的表達方法,而不必在函數內部使用長命名參數。

2°)方法規則:第一個參數不必命名,但其他參數需要命名。這是爲了理解問題。 例如:counter.incrementBy(2, 7);在這裏你可以理解爲什麼2使用,因爲incrementBy但你不能明白7用於