microblink - 无法从 BlinkIDUI-iOS sdk 中的“MBRecognitionResult*”中提取特定字段?
问题描述
我正在为 iOS 使用您的新 BlinkIDUI sdk,我可以从“recognitionResult.resultEntries”中获得所有扫描字段的列表,例如辅助 ID = Jason”、“主 ID = Bourne”、“性别 = F”、“出生日期” = 3/23/83”、“国籍 = 阿联酋”、“文档代码 = P”来自委托方法“ - (void)didScanEntireDocumentWithRecognitionResult:(MBRecognitionResult * _Nonnull)recognitionResult successFrame:(UIImage * _Nullable)successFrame ”。我的查询是如何获取特定键的值,例如“文档代码”?
其他详细信息是: Project: Manual 中的框架添加。Xcode 版本:10.1。语言:Objective-C (ARC OFF)。设备:iPhone8 / iOS(11.1.1)
解决方案
那是因为 resultEntries 是一个数组而不是字典,像这样使用:
for (MBField *field in recognitionResult.resultEntries) { if (field.key == MBFieldKeyDocumentCode) {
}
}
如果您在 ObjectiveC 项目中使用它,那么还要检查“MBField”类的 MBFieldKey 公共属性前面是否有@objc标签,如果不存在,则将其设置为:
公共类 MBField: NSObject {
@objc public let key: MBFieldKey
@objc public let value: String
..... }