正确使用rac_prepareForReuseSignal

时间:2015-08-05 15:41:00

标签: ios reactive-cocoa reactive-cocoa-3

当键盘显示时,我希望单元格向上滚动,所以我想观察一下如果某些textview成为第一响应者

所以:

    cell.textView.rac_signalForSelector("becomeFirstResponder")
        .takeUntil(cell.rac_prepareForReuseSignal)
        .flattenMap { (x) -> RACStream! in
            return NSNotificationCenter.defaultCenter().rac_addObserverForName(UIKeyboardDidShowNotification, object: nil)
    }
        .subscribeNext { [weak self](notify) -> Void in
            __logln("be4")
    }

但是当我点击cell.textView时,“be4”输出了4次 然后,当我离开pop的viewcontroller并推回时,
然后再次单击cell.textView,输出为8次

似乎是,当细胞被重复使用时,信号不明显

1 个答案:

答案 0 :(得分:0)

我得到了答案,那是因为SoGou输入法,它发送三次UIKeyboardDidShowNotification通知 ....