Я всегда думал, что функции и методы одинаковы, пока я не изучил Swift через электронную книгу "Быстрый язык программирования". Я узнал, что не могу использовать greet("John", "Tuesday")
для вызова функции, объявленной внутри класса, как показано в книге на экране ниже:
Я получил сообщение об ошибке " Отсутствует метка аргумента" день: "в вызове" в соответствии с этим снимком экрана:
Вот код: -
import Foundation
import UIKit
class ViewController2: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//var dailyStatement = greet("John", "Tuesday")
var dailyStatement = greet("John", day: "Tuesday")
println(dailyStatement)
}
func greet(name: String, day: String) -> String {
return "Hello \(name), today is \(day)."
}
}
После некоторых исследований я нашел это сообщение: Разница между методом и функцией, и мне кажется, что функция, которую я объявила внутри класса, на самом деле называемый методом. Таким образом, синтаксис, который я использую для вызова метода, отличается от синтаксиса, который я использую для вызова функции.
Я никогда не осознавал эту разницу, когда я программировал в Objective-C.
-
Каковы различия между функциями и методами в Swift?
-
Когда мы используем функции и когда мы используем методы в Swift?