Swift3 在Swift中为Linea Pro设备设置设置充电
如果手机电池电量不足,我想设置Linea Pro为手机充电,这主要是因为所有示例都显示在objective-C中,而不是Swift中 手册上说: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
@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)")
}