set - 如何在 Swift 中创建自定义 getter 方法?

标签 set swift4 var setter

我正在尝试使用以下代码为我的属性创建一个自定义 setter 方法:

var myProperty: String {
    get {
        if CONDITION1 {
            return CONDITION1_STRING
        } else if CONDITION2 {
            return CONDITION2_STRING
        } else{
            return myProperty
        }
    }
    set {
        
    }
}

但这给出了警告:

Attempting to access 'myProperty' within its own getter

最佳答案

创建一个支持 ivar 并添加一个自定义 setter:

private var _myProperty: String 
var myProperty: String {
    get {
        if CONDITION1 {
            return CONDITION1_STRING
        } else if CONDITION2 {
            return CONDITION2_STRING
        } else {
            return _myProperty
        }
    }
    set {
        _myProperty = newValue
    }
}

关于set - 如何在 Swift 中创建自定义 getter 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49148782/

相关文章:

ios - 无法从 Objective-C View Controller 访问 Swift var - iOS

sql-server - 在 SSIS 中设置字符串变量

swift - 什么时候在 Swift 中使用 set 与 willSet?

Java PrintWriter 写入将数据设置为.txt

ios - ABCreateStringWithAddressDictionary 弃用

javascript - 创建一个每 3 秒更改一个变量的函数

python - 如何创建到值集的字典映射以避免字典中出现相同的键

swift - 使用 alamofireimage 在 UIImageview 中显示图像

ios - Apple 文件应用程序通过文件提供程序扩展执行 "Move"操作我的扩展显示禁用

jquery - 在 jQuery 中获取 var 的值