问题标签 [rxdatasources]
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.
ios - 如何使用 RxSwift 和 RxSwiftDataSources 将表视图与表示不同数据类型的多个部分绑定?
我正在尝试使用 RxSwift 创建一个包含多个部分的表格视图。每个部分显示代表不同类型的数据。
我找到了这个RxSwiftDataSources
库并从他们的文档中实现了这个例子。
以下是该示例如何实现的快速概览:
定义了自定义数据类型CustomData
:
然后,添加该部分的表示(注意SectionModelType
在此处实现):
最后,创建一些示例数据并将其绑定到表视图:
我现在想修改示例,并且只想在第二部分显示String
s 而不是实例,所以有点像这样:CustomData
这显然不会编译,因为sections
现在包含不同类型SectionOfCustomData
的元素SectionOfString
。我试图通过尝试将部分声明为来解决此问题,[SectionModelType]
但这不起作用,编译器抱怨:
协议“ SectionModelType
”只能用作通用约束,因为它具有 Self 或关联的类型要求
ios - 订阅位于 UITableViewDataSource 内的 UITableViewCell 中的 UIButton.rx.tap
假设我有一个UIButton
in a UITableViewCell
。将单元格从UITableView
我想订阅的UIButton.rx.tap
. 问题是,如果 myUITableViewCell
多次出队,订阅将保留。Disposable
目前,我通过在 my 中分配一个属性、在UITableViewCell
创建订阅时设置它并调用Disposable.dispose()
on来解决这个问题UITableViewCell.prepareForReuse()
,但是据我了解,以需要您调用的方式实现功能Disposable.dispose()
意味着您做错了什么。
有没有更好的方法来完成订阅的唯一性而无需重新分配UIButton
?
ios - RxSwift 和 UICollectionView、UITableView
我有一个问题:如何使用 RxDataSources 在 Rx-way 中正确实现这样的场景:
我们有一个带有 UICollectionView 的类(或 UITableView,在我的例子中是集合视图),结果不会立即出现,它们会在一段时间后异步出现。
我已经根据这里的教程用部分实现了我的模型: https ://github.com/RxSwiftCommunity/RxDataSources
但是数据只在just
那里创建一次:
如果我的物品在一段时间后可用并且我希望我的收藏视图自动更新,该怎么办?
谢谢你的帮助。
rx-swift - 使用 RxDataSource 自行调整 collectionViewCells 的大小
如何使用 RxDataSource 实现自定大小 collectionViewCells?
我试过设置
但是当dataSourceObservable
更改时应用程序崩溃。
我试过在里面设置单元格大小
这不是一个好主意,因为单元格重叠,这是因为我没有使用
现在,是否可以仅使用 observables 正确布局单元格大小?那不是叫类似的东西
里面collectionView sizeForItemAt
?
ios - RxSwift DataSource configureCell 无法分配功能
我正在尝试将 RxSwift/RxDataSource 与 TableView 一起使用,但我无法为 configureCell 分配现有函数。下面的代码:
Xcode 抛出以下错误:
/Users/.../BaseTableViewController.swift:39:36:无法分配类型“(TableViewSectionedDataSource,UITableView,IndexPath,TableSectionModel.Item)-> UITableViewCell!”的值 输入“(TableViewSectionedDataSource,UITableView,IndexPath,TableSectionModel.Item)-> UITableViewCell!”
错误被抛出
dataSource.configureCell = 单元格
你有什么主意吗?
谢谢
testing - RxDataSources 测试
我用 RxDataSources 的部分创建了 tableView。
视图控制器
当新元素添加到数组时,sectionsObservable 会发出事件。
我想测试一个正确的元素是否在正确的 indexPath 上。
视图模型
它在应用程序中工作,但测试失败。致命错误:索引超出范围
这都是因为异步。如何测试这个案例?
编辑 1:视图模型
swift - 无法使用 RxSwift/RxRealm 过滤对象
我是响应式编程的新手,在从特定索引过滤和访问对象时遇到困难。下面是我的代码片段。
我在搜索栏中收到查询,但过滤似乎不起作用。
当在集合视图中选择一个项目时,我得到了 IndexPath,但我想知道如何根据索引路径访问特定的模型属性。
我正在使用RxRealm和RxRealmDataSources,因为我的数据存储在设备的领域数据库中。
ios - 使用 RxSwift 时没有出现 CollectionView 单元格分隔符
当我使用 RxSwift 填充 Collection View 时,CollectionView 单元格的分隔符没有出现。我正在使用 RxDataSources 而不是类函数。我相信这个函数drawSeparatorIfNeeded
并没有在某个地方被调用,有什么解决方法吗?
集合视图准备:
单元配置:
细胞结合:
在 Reveal 中检查 CollectionView 显示分隔符 UIImageView 的高度为 0,但是当我使用 vanilla DataSource 方法时,它按预期工作。
swift - Observable 被提前处理
我认为如果我解释我想要实现的目标会更好,因为我认为错误在于我对 Observables 如何工作的误解。
我有一个包含 UITableView 的 UIViewController 我也在使用 RxSwift 和 RxDataSources,所以我正在绑定我的 tableView 项目,如下所示:
其中vm是一个 viewModel,它包含:
模型在哪里:
这一切都在第一次很好,tableview 显示项目,但来自debug()的打印:
问题是我不想处理数据源,因为我不想根据用户操作来更新它。如果用户单击 tableViewCell 我想更新模型。关于如何实现这一目标的任何想法?
对不起这么大的问题。
ios - RealmSwift 获取每个 T 对象
我有对象列表,T
我想计算它们的总和(T
对象)
T
对象有一个返回Int
值的方法。获取每个对象并准备值数组(flatMap
函数)的主要思想。下一步将是reduce
func 与Int
值。
问:如何获得每个T
对象?