如何将计算属性的"setter"设置为private?

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)