Мне нужно подключить интерфейс с модулем.
Ошибка: невозможно преобразовать значение типа '()' в тип результата закрытия 'Bool'
Код контроллера:
private func connectLogicView() {
screenView.handlePlayPauseButton(sender: screenView.playPauseButton) { () -> Bool in
obj.playPause(queue: .global()) { //Error here
if self.obj.getPlayer().timeControlStatus != .paused {
return true
} else if self.obj.getPlayer().timeControlStatus == .paused {
return false
}
}
}
}
Код модуля:
public func playPause(queue: DispatchQueue, completion: @escaping ()->Void){
if player.timeControlStatus == .playing {
player.pause()
} else {
player.play()
}
queue.async {
completion()
}
}
Код интерфейса:
func handlePlayPauseButton(sender: UIButton, completion: () -> Bool) {
if completion() == true {
sender.setTitle("pause", for: .normal)
} else {
sender.setTitle("play", for: .normal)
}
}
Если вы можете показатьлучший способ, это будет высоко ценится.