Swift3 在Swift中为Linea Pro设备设置设置充电

Swift3 在Swift中为Linea Pro设备设置设置充电,swift3,try-catch,linea-pro,Swift3,Try Catch,Linea Pro,如果手机电池电量不足,我想设置Linea Pro为手机充电,这主要是因为所有示例都显示在objective-C中,而不是Swift中 手册上说: @param enabled TRUE启用充电,FALSE禁用/停止充电 @指向NSError对象的param error指针,在该对象中存储错误信息以防函数失败。如果你不想要这些信息,你可以通过零 @如果函数成功,则返回TRUE,否则返回FALSE */ 提供的代码如下所示: -(BOOL)setCharging:(BOOL)enabled erro

如果手机电池电量不足,我想设置Linea Pro为手机充电,这主要是因为所有示例都显示在objective-C中,而不是Swift中

手册上说:

@param enabled TRUE启用充电,FALSE禁用/停止充电
@指向NSError对象的param error指针,在该对象中存储错误信息以防函数失败。如果你不想要这些信息,你可以通过零
@如果函数成功,则返回TRUE,否则返回FALSE
*/

提供的代码如下所示:

-(BOOL)setCharging:(BOOL)enabled error:(NSError **)error;
因此,在Swift中,我首先尝试了以下方法:

self.scanner.setCharging = true
self.scanner.setCharging(true)
但这给了我以下错误:

Cannot assign to property: 'setCharging' is a method
所以我试了一下:

self.scanner.setCharging = true
self.scanner.setCharging(true)
这给了我一个错误:

调用可以抛出,但未标记为“try”,并且未处理错误

有趣的是,显然我必须在一个名为“setCharging”的函数中构建它,但我不知道它希望我设置try-and-catch-to的内容和方式,坦率地说,我反对从哪里获取这些信息? 我想应该是这样的,但具体细节我不清楚:

 func setCharging(_ enabled: Bool) throws -> Bool {
 do {
 try
//something goes here I'm not sure what
 } catch {
//and then maybe something here on that to do with error 
 print("some error")
 }
 }

制造商向我提供了答案。不需要创建与API同名的函数,可以在代码中的任何位置调用API,但处理错误除外。所以在这种情况下,我只是把它直接放在我的代码中,而不是放在一个函数中,它就可以工作了。(由于我的scanner.connect代码位于ViewWillAspect块中,因此开始充电的代码太早,无法在其中调用,因此我将其放置在ViewDidAspect块中)

代码如下:

do{
      try self.scanner.setCharging(true)
   }catch let error as NSError{
        NSLog("Operation \(error as Error)")
   }