问题标签 [rx-swift]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
facebook - 使用 RxSwift 登录 Facebook
我正在尝试实现以下 RxSwift 示例:
在我的应用程序中使用 facebook 登录 -> 检索用户信息 -> 检索用户的个人资料照片。
我有这三个函数,它们必须按以下顺序执行:requestAccess() -> fetchUserInformation() -> fetchUserPhoto()
我已经尝试过实现这个流程,但感觉不对。解决此问题的最佳方法是什么?
swift - 如何在 RxSwift 中翻译 if-else?
我正在尝试学习库RxSwift
我有一些这样的代码:
现在我需要在检查之前从服务器更新数据,所以我建模了一个返回 Observable 的 getData()。
我目前的做法是这样的:
它有效(或者应该,我还在写它),但感觉不对..有没有更“反应性”的方式来做到这一点?最适合使用的运算符是什么?
也许返回“false”错误并使用 catch 块?
更新
按照 ssrobbi 建议的方法,我将 2 个分支拆分为 2 个不同的 subscribeNext,并使用过滤器来选择正分支或负分支。这是产生的代码:
这种方法的优点是我可以在代码的其他部分中仅重用两个分支中的一个,而无需重写订阅主体(减少重复总是好的!)
更新
在 RxSwift slack 中进行了一些讨论后,我添加了 shareReplay(1),因此不再重复 getData()。
swift - ReactiveCocoa vs RxSwift - 优点和缺点?
所以现在有了 swift,ReactiveCocoa的人已经在 3.0 版中为 swift 重写了它
此外,还有一个名为RxSwift的项目启动了。
我想知道人们是否可以添加有关这两个框架的设计/api/哲学差异的信息(请本着 SO 的精神,坚持真实的事情,而不是关于哪个“最好”的意见)
[StackOverflow 模组注意事项:这个问题确实有明确的答案,答案是两个框架之间的差异。我认为这对 SO 来说也很重要]
首先,我阅读他们的自述文件的最初印象是:
- 作为熟悉微软“真正的”C# Rx 的人,RxSwift 看起来更容易识别。
- ReactiveCococa 现在似乎已经进入了自己的领域,引入了新的抽象,例如 Signals vs SignalProducers 和 Lifting。一方面,这似乎澄清了某些情况(什么是热信号与冷信号),但另一方面,这似乎大大增加了框架的复杂性
swift - RxSwift 的动作序列
我使用 RxSwift 来简化我的代码。对于我目前的项目,我想将 RxSwift 的原则应用于 LayerKit 中的一堆完成块:
我正在考虑这样的事情:
RxSwift 没有then()
方法。有没有另一种方法来做这个链接的东西,或者我在一般如何使用 ReactiveX 上想错了?
ios - 使用 UITableView 的 RxCocoa 扩展时如何控制 canEditRowAtIndexPath
在我提出问题之前,我正在使用 Swift 2 和 xcode 7 beta 进行记录。
所以我使用 RxSwift 和 RxCocoa 将我的 ViewModel 绑定到 TableView。在我的UITableViewController
viewDidLoad
我正在做这个绑定......
someCollectionOfViewModels
只是一个包含在 a 中的视图模型数组Variable<>
,因此Variable<[SomeViewModel]>.cell.tripViewModel
是 type SomeViewModel
。
这些都与问题无关,一切都很好,当我的视图模型更新时,我的表也会更新。问题是我希望我的表格单元格是不可编辑的UITableViewDataSource
,并且 RxCocoa 为上述绑定设置的并没有实现canEditRowAtIndexPath
此协议上的可选方法,它默认为 true 使单元格可编辑。我知道我可以实现自己的RxTableViewDataSourceType
,这相当简单,但是很多代码只是为了让这件小事工作。我对 RxSwift 和 iOS 都很陌生,我错过了一些简单的东西吗?上面的闭包中有没有办法让我可以访问UITableCellView
在单元格本身上设置一些属性以使其不可编辑?我缺少的 RxCocoa 扩展中的一些东西怎么样。如果必须的话,我会去写我自己的RxTableViewDataSource
,但我想我会先在这里问。
谢谢,
-账单
ios - 未调用 RxSwift 订阅块
我正在玩 RxSwift,我被一个简单的玩具程序困住了。我的程序本质上包含一个模型类和一个视图控制器。该模型包含一个在异步网络调用后在主队列上更新的可观察对象,视图控制器在 viewDidLoad() 中订阅。AppDelegate 初始化模型并将其传递给 ViewController 并触发网络请求。
标签只更新一个,它显示“0”。我预计标签会更新两次,第一次更新后显示“0”,处理网络请求后第二次更新后显示“12”。dispatch_async 块中的断点被命中,但似乎 galleryCount 失去了它的观察者。有人知道发生了什么或如何调试吗?
最好的
ios - rx_itemsWithCellFactory 调用语法
在 RxSwift 示例中,这是有效的:
如何使用 rx_itemsWithCellFactory 编写它?
swift2 - How to handle "Done" return key press event in rxSwift?
While exploring RxSwift
I found just textField.rx_text.asObservable()
property, that fires event every keyboard button is hit.
But how do we handle "search" or "done" button press events? I'd like to fire search only after these actions, not "search as you type".
swift - 结合两个 Observables
我仍然是一个被动的新手,我正在寻求帮助。
以上是我想我想要的......初始函数doA()
和doB()
包装网络调用,因此它们都会发出一个信号,然后Complete
(或Error
不发出任何Next
事件)。如果doA()
完成但doB()
出错,我想doIt()
发出.BFailed
然后完成。
感觉就像我应该使用zip
或者combineLatest
但我不确定如果我这样做了如何知道哪个序列失败了。我也很确定这catchError
是解决方案的一部分,但我不确定该放在哪里。
--
正如我正在考虑的那样,我可以接受依次发生的呼叫。那可能会更好...
IE:
谢谢你的帮助。