Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Reactive5 flatMap observeValues块未调用 override func viewDidLoad(){ commitButton.reactive.controlEvents(.touchUpInside).flatMap(.latest){(button)->输入信号 返回self.createSignInSignal() }.观察值({ //没有打电话 打印(“登录结果:\($0)”) }) } func signin(名称:String,密码:String,结果:((Bool)->Void)){ ... } //创建登录信号 私有函数createSignInSignal()->信号{ let(signInSignal,observators)=Signal.pipe() self.sign(名称:nameTextField.text!,密码:passworkTextField.text!,结果:({success in 发送(值:成功) Observators.sendCompleted() })) 返回信号信号 }_Ios_Swift_Flatmap_Reactive - Fatal编程技术网

Ios Reactive5 flatMap observeValues块未调用 override func viewDidLoad(){ commitButton.reactive.controlEvents(.touchUpInside).flatMap(.latest){(button)->输入信号 返回self.createSignInSignal() }.观察值({ //没有打电话 打印(“登录结果:\($0)”) }) } func signin(名称:String,密码:String,结果:((Bool)->Void)){ ... } //创建登录信号 私有函数createSignInSignal()->信号{ let(signInSignal,observators)=Signal.pipe() self.sign(名称:nameTextField.text!,密码:passworkTextField.text!,结果:({success in 发送(值:成功) Observators.sendCompleted() })) 返回信号信号 }

Ios Reactive5 flatMap observeValues块未调用 override func viewDidLoad(){ commitButton.reactive.controlEvents(.touchUpInside).flatMap(.latest){(button)->输入信号 返回self.createSignInSignal() }.观察值({ //没有打电话 打印(“登录结果:\($0)”) }) } func signin(名称:String,密码:String,结果:((Bool)->Void)){ ... } //创建登录信号 私有函数createSignInSignal()->信号{ let(signInSignal,observators)=Signal.pipe() self.sign(名称:nameTextField.text!,密码:passworkTextField.text!,结果:({success in 发送(值:成功) Observators.sendCompleted() })) 返回信号信号 },ios,swift,flatmap,reactive,Ios,Swift,Flatmap,Reactive,单击登录按钮时,FlatMap observeValues块未调用。当我使用map时,它工作得很好,我知道map和flatmap之间的区别,如何让代码使用flatmap工作 override func viewDidLoad() { commitButton.reactive.controlEvents(.touchUpInside).flatMap(.latest) { (button) -> Signal<Bool, NoError> in retu

单击登录按钮时,FlatMap observeValues块未调用。当我使用map时,它工作得很好,我知道map和flatmap之间的区别,如何让代码使用flatmap工作

override func viewDidLoad() {
    commitButton.reactive.controlEvents(.touchUpInside).flatMap(.latest) { (button) -> Signal<Bool, NoError> in
        return self.createSignInSignal()
    }.observeValues({
        // did not call
        print("Sign in result: \($0)")
    })
}

func signin(name: String, password: String, result: ((Bool)->Void)) {
   ...
}

// create SignIn Signal
private func createSignInSignal() -> Signal<Bool, NoError> {
    let (signInSignal, observers) = Signal<Bool, NoError>.pipe()

    self.signin(name: nameTextField.text!, password: passworkTextField.text!, result: ({success in
        observers.send(value: success)
        observers.sendCompleted()
    }))

    return signInSignal
}