IMReactiveTextField 0.8.0

IMReactiveTextField 0.8.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017 年 5 月
SwiftSwift 版本3.0
SPM支持 SPM

Ivan 维护。



  • 作者
  • Ivan

IMReactiveTextField

用法

要运行示例项目,请克隆仓库,并在 Example 目录中首先运行 pod install

需求

安装

ElunUIElements 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:

pod "IMReactiveTextField"

如果发生编译错误,请修改在 ReactiveSwift pod 内部的 Atomic 类中的变量值

internal struct UnsafeAtomicState<State: RawRepresentable>: AtomicStateProtocol where State.RawValue == Int32 {
    internal typealias Transition = (expected: State, next: State)
#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
    private let value: UnsafeMutablePointer<Int32>

 ..... 

修改如下:

internal struct UnsafeAtomicState<State: RawRepresentable>: AtomicStateProtocol where State.RawValue == Int32 {
    internal typealias Transition = (expected: State, next: State)
#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
    public let value: UnsafeMutablePointer<Int32>

 ..... 

示例

class ViewController: UIViewController {

    @IBOutlet weak var emailTextField: ReactiveValidateTextField!
    @IBOutlet weak var enableButton: UIButton!

    .....

    override func viewDidLoad() {
        super.viewDidLoad()

    let signalEmail = emailTextField.signalReactiveTextField(typeCondition: .JLConditionTypeEmail)

 _ = Signal.combineLatest(signalEmail)
        .map({ (emailCondition) -> Bool in
            
            return  emailCondition })
        .observeResult({ (response) in
            self.enableButton.isEnabled = response.value!})
        .flatMap { (disponseResult) -> Bool? in
            self.enableButton.isEnabled = disponseResult.isDisposed
            return disponseResult.isDisposed

        }

    ....

}

作者

Iván Moya, [email protected]

许可证

IMReactiveTextField 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。