Tho*_*hor 6 getter setter swift
我知道如何将存储属性的"setter"设置为private(例如public private(set) var name: String = "John"),但是如何将计算属性的"setter"设置为private?在这种情况下,变量' age' 的'setter '.当我试图将关键字私有放在前面时set(newAge){},XCode会显示错误.那么可以将计算属性的"setter"设置为private吗?
public class Person {
public private(set) var name: String = "John"
var age: Int{
get {
return 10
}
set(newAge){ // how to set this setter to private so to restrict modification
}
}
}
Run Code Online (Sandbox Code Playgroud)
rob*_*off 17
您可以使用与存储属性相同的方式执行此操作:
private(set) var age: Int{
get {
return 10
}
set(newAge) {
// setter code here
}
}
Run Code Online (Sandbox Code Playgroud)