检测当前值与初始值是否相同

extension ObservableConvertibleType where E: Equatable {
     
    //将原始序列(当前值)转换成(当前值, 是否与最初值相同)的序列
    func isEqualOriginValue() -> Observable<(value: E, isEqualOriginValue: Bool)> {
        return self.asObservable()
            .scan(nil){ acum, x -> (origin: E, current: E)? in
                if let acum = acum {
                    return (origin: acum.origin, current: x)
                } else {
                    return (origin: x, current: x)
                }
            }
            .map { ($0!.current, isEqualOriginValue: $0!.origin == $0!.current) }
    }
}

参考文章:Swift - RxSwift的使用详解66(检测当前值与初始值是否相同:isEqualOriginValue)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,247评论 3 119
  • 文|泡泡圈漫评团 艾潜 萧炎接过纸袋,狼吞虎咽起来。“看样子,萧炎哥哥真的饿坏了呢。”薰儿半蹲在地上,目不转睛地瞧...
    泡泡国漫漫研社阅读 666评论 0 1
  • 以慈悲之爱的智慧,维护内心平衡的心灵状态 “这个世界上,只有一种人,那就是渴望爱的人。“ 是啊,我们每个人都渴望爱...
    我及我阅读 844评论 0 1
  • 因为总是跑题 所以喜爱答非所问 还有一些乱七八糟的感慨 当然也会有人觉得别有洞天 我欣然接受一切的谬赞 不理会他们...
    天造蠢材阅读 179评论 0 0
  • 第一天上日语课,学习五十音图,一边学一边感激发明汉语拼音的周光明先生等人。汉语拼音多简单呀,学会了读音,直接拼起来...
    嘀嘀咕咕与叽叽歪歪阅读 263评论 0 0

友情链接更多精彩内容