我可以通过RxSwift观察只读变量吗?
我正在尝试使用扩展库(iCarousel)
观察变量这是我的代码:
carouselView.rx.observe(Bool.self, "isScrolling")
.map { $0 != nil }
.subscribe(onNext: { (isScrolling) in
print("isScrolling", isScrolling)
}).addDisposableTo(disposeBag)
控制台打印这个但只有一次:
isScrolling, false
答案 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);