Vungle playAd API не работает в Swift

Я пытаюсь использовать playAd API платформы рекламы VungleSDK, и следующие две функции устарели. В нем говорится использовать следующие два с параметром ошибки:

- (void)playAd:(UIViewController *)viewController __attribute__((deprecated));
- (void)playAd:(UIViewController *)viewController withOptions:(id)options __attribute__((deprecated));


- (BOOL)playAd:(UIViewController *)viewController error:(NSError **)error;
- (BOOL)playAd:(UIViewController *)viewController withOptions:(id)options error:(NSError **)error;

В Swift, как бы я назвал такой API?

Я пробовал несколько вещей, включая следующие:

let sdk = VungleSDK.sharedSDK()
var error : NSError?

do {
   try sdk.playAd(viewController, error:err)
} catch let err as NSError {
   // error handling
}

Я также попытался передать &err, так как он ожидает указатель на указатель NSError (а также попытался определить ошибку как NSErrorPointer. Все они не компилируются в новом Swift 2.2.

Что мне не хватает??


person I'm stuck    schedule 26.03.2016    source источник


Ответы (1)


Кажется, это работает (хотя, насколько я могу судить, это нигде не задокументировано):

try! sdk.playAd(viewController, error: ())

Вот то же рабочее решение с обработкой ошибок:

do {
  try sdk.playAd(viewController, error: ())
} catch let error as NSError {
  print(error)
}
person sfdrew    schedule 06.06.2016