【发布时间】:2014-07-30 19:06:31
【问题描述】:
我一直认为函数和方法是一样的,直到我通过“Swift Programming Language”电子书学习 Swift。我发现我不能使用greet("John", "Tuesday") 来调用我在类中声明的函数,如下面的屏幕截图中的电子书所示:
根据此屏幕截图,我收到一条错误消息,提示“缺少参数标签 'day:' in call”:
这里是代码:-
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)."
}
}
经过一番研究,我发现了这个帖子:Difference between a method and a function,在我看来,我在类中声明的函数实际上称为方法。因此,我用来调用方法的语法与我用来调用函数的语法不同。
我在使用 Objective-C 编程时从未意识到这种差异。
Swift 中的函数和方法有什么区别?
我们什么时候使用函数,什么时候在 Swift 中使用方法?
【问题讨论】:
-
我不认为它与上述问题完全重复。我希望这个问题能够解开 Swift 中方法和函数之间的所有疑惑。显然,这对我来说很新鲜。而且我认为这对其他一些 iOS 开发人员来说可能也是新事物。