swift属性空的setter和getters

时间:2017-10-24 00:56:44

标签: swift properties getter-setter

我是Ios开发的初学者,如果这听起来像个愚蠢的问题,请原谅我。我经常看到这样的属性声明:

var desiredAccuracy: CLLocationAccuracy { get set }

那么{ get set }意味着什么?它是一个空的getter和变量的setter吗?

2 个答案:

答案 0 :(得分:3)

这是在协议中声明属性要求的方式:

  

属性要求始终声明为变量属性,前缀为var关键字。 Gettable和settable属性通过在类型声明后写入{get set}来指示,并且通过编写{get}来指示gettable属性。

Apple Swift documentation

答案 1 :(得分:0)

您声明变量将在协议

中具有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