Общий параметр «Я» не может быть выведен в RxDataSources [duplicate]

max(stats, key=stats.get)
0
задан Litle Dev 23 May 2018 в 05:08
поделиться

1 ответ

Я предлагаю вам использовать последнюю версию RxSwift. То, что вы используете сейчас, устарело. Ваша ошибка может быть связана с ней.

Существует два способа сделать то, что вы делаете:

let countryArray = ["Bangladesh", "India", "Pakistan", "Nepal", "Bhutan", "China", "Malaysia", "Myanmar", "Sri Lanka", "Saudi Arabia"]
let countries = Observable.of(countryArray)

// Be sure to register the cell
tableView.register(UINib(nibName: "MyCell", bundle: nil), forCellReuseIdentifier: "myCell")
  1. Чтобы обеспечить тип ячейки в items(cellIdentifier:cellType:) , это в основном то, что вы делаете:
    countries
        .bind(to: tableView.rx.items(cellIdentifier: "myCell", cellType: MyCell.self)) { (row, element, cell) in
            // configure cell
        }
        .disposed(by: disposeBag)
    
  2. Чтобы обеспечить закрытие фабрики ячеек, другими словами, деактивируйте ячейку в закрытии и верните ее:
    countries
        .bind(to: tableView.rx.items) { (tableView, row, element) in
            let cell = tableView.dequeueReusableCell(withIdentifier: "myCell", for: IndexPath(row: row, section: 0)) as! MyCell
            // configure cell
            return cell
        }
        .disposed(by: disposeBag)
    

У обоих есть плюсы и минусы. Вторая имеет ссылку на tableView, которая иногда может быть очень удобной.

2
ответ дан Au Ris 16 August 2018 в 02:53
поделиться
  • 1
    Спасибо @ au-ris, второй отличный, и он работает для меня. – Litle Dev 23 May 2018 в 06:56