Ios 使用反应式Cocoa swift验证textfield

Ios 使用反应式Cocoa swift验证textfield,ios,swift,reactive-cocoa,reactive-cocoa-5,Ios,Swift,Reactive Cocoa,Reactive Cocoa 5,我正在尝试验证UITextField,如果它的字符数超过3个,则应返回true,否则返回false。我尝试使用下面的代码,但它不工作。我做错了什么 let validUserNameSignal = self.nameTextField.reactive.trigger(for: .valueChanged).observeValues { value in }.map { (value) in String(describing: value).

我正在尝试验证
UITextField
,如果它的字符数超过3个,则应返回true,否则返回false。我尝试使用下面的代码,但它不工作。我做错了什么

 let validUserNameSignal = self.nameTextField.reactive.trigger(for: .valueChanged).observeValues {
        value in


    }.map { (value) in

        String(describing: value).characters.count > 3 ? true:false

    }
    print("user name valid result is \(validUserNameSignal)")

下面是代码的外观

let validUserNameSignal =
        self.nameTextField
            .reactive
            .continuousTextValues
            .skipNil()
            .map { $0.characters.count > 3 }

validUserNameSignal.observeValues { value in
    print("user name valid result is \(value)")
}

下面是代码的外观

let validUserNameSignal =
        self.nameTextField
            .reactive
            .continuousTextValues
            .skipNil()
            .map { $0.characters.count > 3 }

validUserNameSignal.observeValues { value in
    print("user name valid result is \(value)")
}

很好。当我组合2个信号时,它返回元组<代码>让validUserNameSignal=self.nameTextField.reactive.continuousTextValues.skipNil().map({$0.characters.count>3})让pwdPasswordFieldSignal=self.pwdtextField.reactive.continuousTextValues.skipNil().map({$0.characters.count>3})让formValidation=validUserNameSignal.CombineTest(带:pwdPasswordFieldSignal)formValidation.observeValues{打印值(\(值)”)}可以吗?是的,当你组合两个信号时会发生这种情况。所以,我应该测试所有元组值以确定结果?或者有其他方法吗?有另一种方法,但如果你问一个新问题,我可以更彻底地回答,我无法在这些注释中格式化我的代码。效果很好。当我组合两个信号时,它返回元组。
让validUserNameSignal=self.nameTextField.reactive.continuousTextValues.skipNil().map({$0.characters.count>3})让pwdPasswordFieldSignal=self.pwdtextField.reactive.continuousTextValues.skipNil().map({$0.characters.count>3})让formValidation=validUserNameSignal.CombineTest(with:pwdPasswordFieldSignal)formValidation.observeValues{value in print(\(value)”)}
可以吗?是的,这是组合两个信号时发生的情况。因此,我应该测试所有元组值以确定结果?或者有其他方法吗?有另一种方法,但是如果你问一个新问题,我可以更彻底地回答,我不能在这些注释中格式化我的代码。