以下代码在Swift 1.2中编译:
class myClass {
static func myMethod1() {
}
class func myMethod2() {
}
static var myVar1 = ""
}
func doSomething() {
myClass.myMethod1()
myClass.myMethod2()
myClass.myVar1 = "abc"
}
Run Code Online (Sandbox Code Playgroud)
静态函数和类函数有什么区别?我应该使用哪一个,何时使用?
如果我尝试定义另一个变量class var myVar2 = "",它会说:
类中尚未支持的类存储属性; 你的意思是'静态'吗?
当支持这个特性时,静态变量和类变量之间的区别是什么(即两者都是在类中定义的)?我应该使用哪一个,何时使用?
(Xcode 6.3)
我可以在Swift库中看到这些定义:
extension Bool : BooleanLiteralConvertible {
static func convertFromBooleanLiteral(value: Bool) -> Bool
}
protocol BooleanLiteralConvertible {
typealias BooleanLiteralType
class func convertFromBooleanLiteral(value: BooleanLiteralType) -> Self
}
Run Code Online (Sandbox Code Playgroud)
定义为的成员函数与定义为的static func另一个成员函数之间有什么区别class func?它只是static用于结构和枚举的静态函数,以及class类和协议吗?还有其他人应该知道的差异吗?在语法本身中有这种区别的理由是什么?