当前位置: 首页 > article >正文

ReactiveSwift 简单使用

记录 ReactiveSwift 简单使用

  1. 导入 ReactiveSwift 库
  2. 创建 TestViewModel 文件
enum JKTypeType: Int {
    case cloud
    case device
    case weater
}

// 通过监听属性变化
class TestViewModel: NSObject {
    
    lazy var recordType: Property<JKTypeType> = {
        return Property(recordTypeProperty)
    }()
    
    private(set) var recordTypeProperty: MutableProperty<JKTypeType> = MutableProperty(.device)

    deinit {
        print("TestViewModel delloc")
    }
}

extension TestViewModel {
    
    func setRecordType(_ type: JKTypeType) {
        recordTypeProperty.value = type
    }
    
}
  1. 使用 TestViewModel
class RegisterVC: UIViewController {
	var testViewModel =  TestViewModel()
    
    let disposes: CompositeDisposable = CompositeDisposable()

	override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = UIColor.white
        bindViewModel()
    }

	func bindViewModel() {
         disposes += testViewModel.recordType.signal.observeValues { type in
            print("testViewModel: \(type)")
        }
    }


	@IBAction func backClick(_ sender: Any) {
        testViewModel.setRecordType(.cloud)
     }
}

	deinit {
        disposes.dispose()
    }

http://www.kler.cn/a/508848.html

相关文章:

  • PHP的HMAC_SHA1和HMAC_MD5算法方法
  • web开发工具之:三、JWT的理论知识,java的支持,封装的工具类可以直接使用
  • SurfaceFlinger代码笔记
  • Mongodb相关内容
  • 【Vim Masterclass 笔记12】S06L26 + L27:Vim 文本的搜索、查找及替换同步练习(含点评课)
  • IvorySQL 4.0 之 Invisible Column 功能解析
  • ThreeJS能力演示——界面点选交互能力
  • 探索基于机器学习的信用评分:从数据到洞察
  • Android BottomNavigationView不加icon使text垂直居中,完美解决。
  • PyTorch使用教程(4)-torch.nn
  • PCL 计算多边形的面积【2025最新版】
  • Redisson分布式锁的原理和实践?
  • 0基础跟德姆(dom)一起学AI 自然语言处理16-输入部分实现
  • Kotlin Bytedeco OpenCV 图像图像55 图像透视变换
  • macOS docker hub / docker desktop替代方案
  • 逻辑结构与存储结构
  • visionpro数据-输入-输出
  • 【深度学习】Pytorch:自实现残差网络
  • pyspark连接clickhouse数据库的方式(其它数据库同样适用)
  • Jenkins质量门禁设计方案的深入探讨
  • SQL Server 2022中文软件下载安装过程
  • 中间件以及主流中间件产品:IBM MQSeries和BEA Tuxedo介绍
  • 爬虫请求失败时如何处理?
  • AWS设计和实现低空管理系统
  • Visual Studio2019调试DLL
  • 如何构建优质的prompt