Использование делегатов в Swift 5.2 - PullRequest
0 голосов
/ 09 апреля 2020

Я работаю над мобильным приложением и хотел бы знать, когда пользователь закрывает окно выбора маршрута Airplay. В документации для AVRoutePickerView его делегат предположительно имеет функцию «routePickerViewDidEndPresentingRoutes» https://developer.apple.com/documentation/avkit/avroutepickerview

Вот моя реализация. Деталь выбора маршрута открывается и закрывается, но функция делегата не запускается. Возможно, я не понимаю Swift 5.2? Как я могу обнаружить это изменение?

@available(iOS 11.0, *)
class RouteCheckDelegate: NSObject, AVRoutePickerViewDelegate  {
  func routePickerViewDidEndPresentingRoutes(_ routePickerView: AVRoutePickerView) {
    print("FINISHED PRESENTING ROUTES")
  }
}

@objc(RCTAirPlayButton)
@available(iOS 11.0, *)
class ShowAirplay: RCTViewManager {

  @objc
  override static func requiresMainQueueSetup() -> Bool {
    return true
  }

  override func view() -> AVRoutePickerView {
    let routerPickerView = AVRoutePickerView(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
    let delegate = RouteCheckDelegate()
    routerPickerView.delegate = delegate
    return routerPickerView
  }
}```

...