Quais são as diferenças entre funções e métodos no Swift?

Eu sempre pensei que funções e métodos eram os mesmos, até aprender o Swift através do e-book "Swift Programming Language". Eu descobri que não posso usargreet("John", "Tuesday") para chamar uma função que eu declarei dentro de uma classe, conforme mostrado no eBook na captura de tela abaixo:

Eu recebi um erro dizendo que "Rótulo de argumento ausente 'dia:' na chamada"conforme esta captura de tela:

Aqui está o código: -

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)."
    }
}

Após algumas pesquisas, encontrei este post:Diferença entre um método e uma função, e parece-me que a função que declarei dentro de uma classe é na verdade chamada de método. Portanto, a sintaxe que eu uso para chamar o método é diferente em comparação com a sintaxe que eu uso para chamar uma função.

Eu nunca percebi essa diferença quando estava programando no Objective-C.

Quais são as diferenças entre funções e métodos no Swift?

Quando usamos funções e quando usamos métodos no Swift?

questionAnswers(2)

yourAnswerToTheQuestion