具有只读公共访问权限的ReactiveSwift可变属性

具有只读公共访问权限的ReactiveSwift可变属性,第1张

概述我有一个枚举属性状态的类.此属性的值(按值表示Reactive Swift.Property的值)需要被其他类访问和观察,但值更改应该是私有的.目前它是以这样的方式实现的: enum State { case stopped, running, paused}var state: Property<State> { return Property(mutableState) 我有一个枚举属性状态的类.此属性的值(按值表示Reactive Swift.Property的值)需要被其他类访问和观察,但值更改应该是私有的.目前它是以这样的方式实现的:

enum State {    case stopped,running,paused}var state: Property<State> {    return Property(mutableState)}fileprivate let mutableState = MutableProperty<State>(.stopped)

这种模式允许我修改类文件中的mutableState属性.同时,课外状态仅适用于阅读和观察.

问题是是否有办法使用单一属性实现类似的东西?也许有人可以为同一解决方案建议更好的模式?

解决方法 我想不出用一个属性做任何事情.我对代码进行的唯一调整是使状态成为存储属性,而不是每次访问时都新创建的计算属性:

class Foo {    let state: Property<State>    fileprivate let mutableState = MutableProperty<State>(.stopped)    init() {        state = Property(mutableState)    }}
总结

以上是内存溢出为你收集整理的具有只读公共访问权限的ReactiveSwift可变属性全部内容,希望文章能够帮你解决具有只读公共访问权限的ReactiveSwift可变属性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1007857.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存