尝试使用目标C中的NFC框架,我做了一个桥头,并将调用转换得如此迅速。
但是这里出现错误:
“无法将类型为'String'的值转换为预期的参数类型为'EInkSizeType'”
有人可以帮忙吗??
let image = UIImage(named: "nummer27")
let EInkSizeType420 = "EInkSizeType420"
// [[NFCTagReader sharedSingleton] sendImage:image einkSizeType:EInkSizeType420];];
// Converted to Swift 5.2 by Swiftify v5.2.19376 - https://swiftify.com/
NFCTagReader.sharedSingleton().sendImage(image!, einkSizeType: EInkSizeType420)
答案 0 :(得分:0)
方法签名期望参数EInkSizeType
的类型为einkSizeType:
,因此完整签名为:
sendImage(_ image: UIImage, einkSizeType: EInkSizeType)
在不知道确切框架的情况下,我只能猜测枚举将类似于EInkSizeType.EInkSizeType420
。自动完成功能应该可以帮助您,只需开始输入.
作为参数,然后应该显示可能值的列表。因此,假设.EInkSizeType420
是正确的枚举值,您的代码应如下所示:
let image = UIImage(named: "nummer27")
// [[NFCTagReader sharedSingleton] sendImage:image einkSizeType:EInkSizeType420];];
// Converted to Swift 5.2 by Swiftify v5.2.19376 - https://swiftify.com/
NFCTagReader.sharedSingleton().sendImage(image!, einkSizeType: .EInkSizeType420)
还有一点,在生产中,请尽量不要使用!
(强制展开),而应选择?
(可选),除非应用程序的预期操作是崩溃,否则该值为空。相反,请尝试使用guard let ... else { ... }
来妥善处理意外情况:
func sendImageToNFCTag() {
guard let image = UIImage(named: "nummer27") else {
// Show alert dialog that image couldn't be found here
// ...
return
}
// [[NFCTagReader sharedSingleton] sendImage:image einkSizeType:EInkSizeType420];];
// Converted to Swift 5.2 by Swiftify v5.2.19376 - https://swiftify.com/
NFCTagReader.sharedSingleton().sendImage(image, einkSizeType: .EInkSizeType420)
}