将事件绑定到 Observable<JSON> 的键
Posted
技术标签:
【中文标题】将事件绑定到 Observable<JSON> 的键【英文标题】:Bind event to key of Observable<JSON> 【发布时间】:2018-10-09 00:46:26 【问题描述】:我有一个返回 2 个可观察事件的函数,第一个事件有一个键 athletes
,我想从中创建一个表。我怎样才能做到这一点?
我得到的可能错误是:
Cannot subscript a value of incorrect or ambiguous type
Value of type 'JSON' has no member 'asObservable'
self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
teamRequest(schoolID: self.schoolID).debug("val").elementAt(1)
.bind(to: self.tableView.rx.items(cellIdentifier: "cell", cellType: UITableViewCell.self)) row, element, cell in
cell.textLabel?.text = element["Name"]
.disposed(by: disposeBag)
其中 teamRequest 返回一个 JSON 类型的 observable,发出 2 个值。
【问题讨论】:
“JSON”类型到底是什么? 'teamRequest(schoolID: self.schoolID)' 返回什么? 【参考方案1】:为了使您发布的代码能够正常工作,teamRequest(schoolID: self.schoolID)
必须返回一个数组。会这样吗?
我不确定你认为你在用elementAt
运算符做什么。在典型的 RxSwift 代码中,这是一个非常罕见的运算符。你确定你需要它吗?
【讨论】:
【参考方案2】:绑定到表只适用于数组类型的可观察对象(即'Observable')。 如果您需要按键从 observable 中进行选择,请使用 '.groupBy()' 运算符。
【讨论】:
以上是关于将事件绑定到 Observable<JSON> 的键的主要内容,如果未能解决你的问题,请参考以下文章
KnockoutJS json 对象/可观察的“可见”绑定不起作用