RXSwift初体验

2019-07-23  本文已影响0人  魔灵abc

RxSwift作用

RxSwift安装(通过cocoapods)

target 'swiftDemo' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

 pod 'RxSwift', '~> 5.0.0'
 pod 'RxCocoa', '~> 5.0.0'
end

在需要使用 RxSwift 的地方 import 进来就可以了

import RxSwift
import RxCocoa

RxSwift简单实用对比

func setupButton() {
        
        let button: UIButton = UIButton.init(type: .custom)
        button.frame = CGRect(x: 10, y: 30, width: 60, height: 50);
        button.backgroundColor = UIColor.red
        button.setTitle("系统按钮", for: .normal)
        button.titleLabel?.font = UIFont.systemFont(ofSize: 13)
        button.addTarget(self, action: #selector(buttonClick(_:)), for: .touchUpInside)
        self.view.addSubview(button)
    }
    @objc func buttonClick(_ sender: UIButton) {
        print("点我啊")
    }
    
    func setupRXButton() {
        let button: UIButton = UIButton.init(type: .custom)
        button.frame = CGRect(x: 90, y: 30, width: 60, height: 50);
        button.backgroundColor = UIColor.blue
        button.setTitle("RX按钮", for: .normal)
        button.titleLabel?.font = UIFont.systemFont(ofSize: 13)
        self.view.addSubview(button)
    
        let _ = button.rx.tap
            .subscribe(onNext: { () in
                print("rx按钮点击")
            }).disposed(by: disposeBag)
    }
override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        inputField.delegate = self
    }
//Rx
func setRXTextField() {
       let _ = self.inputField.rx.text.orEmpty
            .subscribe(onNext: { (text) in
                print(text)
            }).disposed(by: disposeBag)
    }

extension ViewController : UITextFieldDelegate {
    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        print(textField.text ?? "",range,string)
        return true;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读