1

我正在尝试使用 VungleSDK 广告框架的 playAd API,以下两个函数已被弃用。它说使用带有错误参数的下两个:

- (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 中编译。

我错过了什么??

4

1 回答 1

2

似乎这可行(尽管据我所知,它没有在任何地方记录):

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

这是相同的工作解决方案,带有错误处理:

do {
  try sdk.playAd(viewController, error: ())
} catch let error as NSError {
  print(error)
}
于 2016-06-06T21:49:42.317 回答