Swift-在getter上返回其自身属性,并在setter上进行自身设置

潘比罗斯

无论如何,要在getter中返回自己的属性并在setter上进行设置?因为我只想在getter和setter里面打印日志,所以就可以了。

例如,我试图做这样的事情:

private(set) var internetConnectionAvailable: Bool {
    get {
        logger.debug("verifying internet connection")
        // here return itself property
    }
    set {
        logger.debug("changing internet connection")
        // here set itself
    }
}

如果我回到self.internetConnectionAvailable吸气剂,我会得到:

链接器命令失败,退出代码为1

当我尝试编译项目时。

我正在尝试这样做,因为我不想创建额外的私有属性来存储get和set。我正在寻找是否有其他方法可以实现这一目标。

罗布·纳皮尔

编辑:我注意到您说您不想创建额外的私有财产。那不好意思 不会。除非您将其作为NSManagedObject子类(并连接到willAccessValueForKey系统),否则将其连接到ObjC运行时NSObject(例如,您可以通过自己的getter来添加日志记录;别笑了,我之前做过)。但是所有这些方法在Swift中都是疯狂的(在ObjC中是疯狂的;我仅将它们用于调试)。只需使后备变量即可。

如果您只想记录设置器,那么这将很简单:使用willSet而不是set但是记录获取器需要手工实现。您可以使用私有后备变量来实现。

private var _internetConnectionAvailable: Bool
private(set) var internetConnectionAvailable: {
    get {
        logger.debug("verifying internet connection")
        return _internetConnectionAvailable
    }
    set {
        logger.debug("changing internet connection")
        _internetConnectionAvailable = newValue
    }
}

定义好get自己之后,您就说过不需要默认处理,这意味着您不会获得自动后备变量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

包含其自身类型属性的 Swift 类

来自分类常见问题

Swift编程:存储属性中的getter / setter

来自分类Dev

swift 属性空的 setter 和 getter

来自分类Dev

Swift协议定义返回自身的类方法

来自分类Dev

在Swift中使自身变得脆弱

来自分类Dev

Swift属性-Getter Ivar

来自分类Dev

Swift的setter和getter问题

来自分类Dev

Swift中的存储属性可以有getter和setter吗?

来自分类Dev

Swift:使用相同的Getter和/或Setter的计算属性

来自分类Dev

Swift可变属性设置

来自分类Dev

Swift - 计算属性返回

来自分类Dev

Swift-在结构对象上进行迭代时如何对其进行突变

来自分类Dev

使用Postman在Swift上进行用户注册

来自分类Dev

使用Getter和Setter修改值而无需在Swift中进行子类化

来自分类Dev

如何在NSDate扩展Swift中更改自身?

来自分类Dev

无法在“自身”中分配给“”-在Swift中使用元组

来自分类Dev

无法在“自身”中分配给“”-在Swift中使用元组

来自分类Dev

如何在NSDate扩展Swift中更改自身?

来自分类Dev

Swift 变量不保值或以某种方式重置自身

来自分类Dev

如何在Swift中将NSUserDefaults与属性getter和setter结合使用?

来自分类Dev

Swift为什么不像Java或C#那样使用getter和setter作为属性?

来自分类Dev

Swift:设置协议的可选属性

来自分类Dev

在Swift中设置文件属性

来自分类Dev

Create a Setter Only in Swift

来自分类Dev

Swift getter代码重复

来自分类Dev

在Swift中覆盖getter

来自分类Dev

Swift 中的简要属性 getter 描述

来自分类Dev

是否可以在Swift属性上设置观察点?

来自分类Dev

通过NSManagedObjectSubclass上的Swift计算属性对NSFetchedResultsController进行排序

Related 相关文章

热门标签

归档