Я новичок в Swift, и я проходил через несколько учебников, и многие из них определяют функцию более одного раза с тем же именем.
Я привык к другим языкам программирования, где это невозможно сделать, иначе он выдает ошибку.
Поэтому я проверил официальный Swift Manual и также проверил переопределить, чтобы узнать, что я могу извлечь из него, но все же я не могу понять следующий код:
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "MyTestCell")
cell.textLabel?.text = "Row #\(indexPath.row)"
cell.detailTextLabel?.text = "Subtitle #\(indexPath.row)"
return cell
}
Из того, что я вижу, функция tableView устанавливается в строке # 1, а также в строке # 5, единственное отличие, которое я заметил, это то, что первая функция tableView возвращает Int
, а вторая возвращает Object
(UITableViewCell).
В этом случае я вижу, что в результате вторая функция НЕ переопределяет первый.
Что это значит и почему можно определить функцию более одного раза с тем же именем без переопределения?