首页 > 解决方案 > 无法从 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)

标签: microblink

解决方案


那是因为 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

..... }


推荐阅读