Dopo un paio d'ore di lettura e sperimentare, qui sono le cose che ho scoperto: -
Funzioni a Swift
funzioni sono blocchi indipendenti di codice che eseguono una determinata compito. Si assegna a una funzione un nome che identifica ciò che fa e questo nome viene utilizzato per "chiamare" la funzione per eseguire il proprio compito quando è necessario .
Resource: Official Apple Documentation on Functions in Swift
Funzione nomi dei parametri
Tuttavia, questi i nomi dei parametri vengono utilizzati solo all'interno del corpo della funzione in sé, e non può essere usato quando si chiama il funzione. Questi tipi di nomi di parametri sono noti come nomi di parametri locali, poiché sono disponibili solo per l'utilizzo all'interno del corpo della funzione.
Significa che per default, tutti i parametri di funzione sono parametri locali.
Ma, a volte, vogliamo indicare lo scopo di ciascun parametro. Pertanto, possiamo definire un nome di parametro esterno per ciascun parametro. Esempio di codice:
func someFunction(externalParameterName localParameterName: Int) {
// function body goes here, and can use localParameterName
// to refer to the argument value for that parameter
}
Un altro modo per rendere il nome del parametro esterno sta usando simbolo cancelletto (#) per abbreviare il nome.
func someFunction(#localParameterName: Int) {
// function body goes here, and can use localParameterName
// to refer to the argument value for that parameter
}
per chiamare le funzioni di cui sopra con il parametro esterno, è possibile utilizzare
someFunction(localParameterName:10)
Metodi a Swift
I metodi sono funzioni che sono associate a un determinato tipo. Classi, strutture ed enumerazioni possono tutti definire i metodi di istanza, che incapsulano attività e funzionalità specifiche per lavorare con un'istanza di un determinato tipo.
Resource: Official Apple Documentation on Methods in Swift
Tuttavia, il comportamento predefinito di nomi locali e nomi esterni è diverso per funzioni e metodi.
particolare, Swift dà il nome parametro in un metodo un nome parametro locale di default, e dà la seconda e le successive nomi dei parametri Entrambi i nomi dei parametri locali ed esterni di default.
codice qui sotto mostra le differenze di impostazione predefinita e dei parametri non predefiniti per il metodo a Swift.
import Foundation
import UIKit
class ViewController2: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//Default methods calling
var dailyStatement = greet("Rick", day: "Tuesday")
println(dailyStatement)
//First parameter is also an external parameter
var dailyStatement2 = greet2(name:"John", day: "Sunday")
println(dailyStatement2)
}
//Default: First Parameter is the local parameter, the rest are external parameters
func greet (name: String, day: String) -> String {
return "Hello \(name), today is \(day)."
}
//Use Hash symbol to make the First parameter as external parameter
func greet2 (#name: String, day: String) -> String {
return "Hello \(name), today is \(day)."
}
}
Potrei perdere alcuni dettagli importanti. Spero che qualcuno possa fornire una risposta migliore.
possibile duplicato di [Swift : label argomento mancante 'xxx' in chiamata] (http://stackoverflow.com/questions/24050844/swift-missing-argument-label-xxx-in-call) – user3386109
Non penso che sia completamente duplicato dal sopra la domanda. Spero che questa domanda possa chiarire tutti i dubbi tra metodi e funzioni in Swift. Come apparentemente, questo è abbastanza nuovo per me. E penso che potrebbe essere nuovo anche per altri sviluppatori iOS. – Ricky