iOS RXSwift4 Невозможно вызвать 'bind' со списком аргументов типа '(to: PublishRelay <Void>)' - PullRequest
0 голосов
/ 26 августа 2018

Я получаю загадочное сообщение от компилятора и пытаюсь его отладить, так как этот код работал на одной из машин товарища по команде. Используем ли мы разные версии RXSwift?

Как я могу связать UIButton.rx с PublishRelay типа Void?

import SnapKit
import RxSwift
import RxCocoa


var startButton: UIButton
var tapStartButtonRelay: PublishRelay<Void>

startButton.rx.tap
           .bind(to: tapStartButtonRelay)
//get Cannot invoke 'bind' with an argument list of type '(to: PublishRelay<Void>)'

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Issue

Кажется, вы используете устаревшую версию RxSwift .Код правильный, он работает на моей машине с использованием RxSwift 4.2.0 .

Решение

Пожалуйста, обновите до RxSwift 4.2.0 , потому что этосодержит это PR , где команда Rx добавила bind(to:) методы для PublishRelay и BehaviorRelay.

0 голосов
/ 26 августа 2018

Использование tapStartButtonRelay.asObserver().

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...