我正在尝试使用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中进行编译。
我错过了什么?
答案 0 :(得分:1)
这似乎有效(尽管我无法在任何地方记录):
try! sdk.playAd(viewController, error: ())
以下是相同的工作解决方案,错误处理:
do {
try sdk.playAd(viewController, error: ())
} catch let error as NSError {
print(error)
}