swift 属性空 setter 和 getter
swift properties empty setters and getters
我是 Ios 开发的初学者,所以如果这听起来像是一个愚蠢的问题,请原谅我。我经常看到这样的属性声明:
var desiredAccuracy: CLLocationAccuracy { get set }
那么 { get set }
是什么意思?变量是空 getter 和 setter 吗?
这是在协议中声明 属性 要求的方式:
Property requirements are always declared as variable properties, prefixed with the var keyword. Gettable and settable properties are indicated by writing { get set } after their type declaration, and gettable properties are indicated by writing { get }.
您在协议
中声明变量将具有 setter 和 getter
protocol Abstract {
var desiredAccuracy: Int { get set }
}
//so here you can implement the abstract with struct or class.
struct Concrete : Abstract {
var desiredAccuracy: Int
}
var concrete = Concrete(desiredAccuracy: 10)
print(concrete.desiredAccuracy) <-- this is getter
concrete.desiredAccuracy = 20 <-- this is setter
print(concrete.desiredAccuracy) <-- this is getter
我是 Ios 开发的初学者,所以如果这听起来像是一个愚蠢的问题,请原谅我。我经常看到这样的属性声明:
var desiredAccuracy: CLLocationAccuracy { get set }
那么 { get set }
是什么意思?变量是空 getter 和 setter 吗?
这是在协议中声明 属性 要求的方式:
Property requirements are always declared as variable properties, prefixed with the var keyword. Gettable and settable properties are indicated by writing { get set } after their type declaration, and gettable properties are indicated by writing { get }.
您在协议
中声明变量将具有 setter 和 getterprotocol Abstract {
var desiredAccuracy: Int { get set }
}
//so here you can implement the abstract with struct or class.
struct Concrete : Abstract {
var desiredAccuracy: Int
}
var concrete = Concrete(desiredAccuracy: 10)
print(concrete.desiredAccuracy) <-- this is getter
concrete.desiredAccuracy = 20 <-- this is setter
print(concrete.desiredAccuracy) <-- this is getter