观察只读变量

时间:2016-12-23 11:57:16

标签: ios swift rx-swift

我可以通过RxSwift观察只读变量吗?

我正在尝试使用扩展库(iCarousel

观察变量

这是我的代码:

carouselView.rx.observe(Bool.self, "isScrolling")
    .map { $0 != nil }
    .subscribe(onNext: { (isScrolling) in
        print("isScrolling", isScrolling)
    }).addDisposableTo(disposeBag)

控制台打印这个但只有一次:

isScrolling, false

2 个答案:

答案 0 :(得分:0)

可能是因为它是用户滚动而不是编程滚动?

这是来自iCarousel文档。

@property (nonatomic, readonly, getter = isScrolling) BOOL scrolling;

如果当前正在以编程方式滚动轮播,则返回YES。

如果是这种情况,您可能希望在组合中使用这些

@property (nonatomic, readonly, getter = isDragging) BOOL dragging;

如果用户已开始滚动轮播并且尚未释放轮播,则返回YES。

@property (nonatomic, readonly, getter = isDecelerating) BOOL decelerating;

如果用户不再拖动轮播,则返回YES,但它仍然在移动。

答案 1 :(得分:0)

我现在看到了。这等于

carouselView.rx.observe(Bool.self, "isScrolling")
    .filter { $0 != nil }
    .subscribe(onNext: { (isScrolling) in
        print("isScrolling", isScrolling)
    }).addDisposableTo(disposeBag)

所以你没有返回天气它不是,但是它的布尔值是零。 您想要使用的是过滤器

喜欢

console.log($("div.exclude input").length);
console.log($("div:not(.exclude) input").length);
console.log($("div input").length);