使用 RxSwift 对成员“tableView”的模糊引用
Posted
技术标签:
【中文标题】使用 RxSwift 对成员“tableView”的模糊引用【英文标题】:Ambiguous reference to member 'tableView' using RxSwift 【发布时间】:2017-09-12 22:49:04 【问题描述】:tableView ambiguous reference error
我正面临这个错误,就像你们中的许多人已经面临的一样。我的 UITableViewController 中有以下代码:
import Foundation
import RxSwift
import RxCocoa
class DiscoveryViewController : UITableViewController
// MARK: - Properties
let viewModel = MFMovieListViewModel()
let disposeBag: DisposeBag = DisposeBag()
override func viewDidLoad()
super.viewDidLoad()
setupBindings()
// MARK: - Rx binding
private func setupBindings()
self.viewModel
.movies
.bind(to: tableView
.rx
.items(cellIdentifier: MovieListCell.DefaultReuseIdentifier,
cellType: MovieListCell.self))
(row, movie, cell) in
cell.configure(with: movie)
.addDisposableTo(self.disposeBag)
查看模型如下:
import Foundation
import RxSwift
import RxCocoa
class MFMovieListViewModel
// MARK: - Properties
lazy var movies: Observable<[MovieListMDB]> =
return MFAPIClinet.sharedInstance().popularMovies()
()
不要认为它与 Xcode 8.3 或 OSX 10.12 相关,但仍然尝试重新启动但没有解决任何问题。感谢提供的任何帮助。
【问题讨论】:
【参考方案1】:发现问题。在 MovieListCell 中未定义 DefaultReuseIdentifier。 :) 有趣的错误信息!
【讨论】:
以上是关于使用 RxSwift 对成员“tableView”的模糊引用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 RxSwift 中使用 tableView 数据源(numberOfRowsInSection)?
RxSwift Observeable 不会在数据更改时更新 tableview