gpt4 book ai didi

ios - 仅当委托(delegate)方法完成时才迭代 NSArray 中的下一项

转载 作者:行者123 更新时间:2023-11-29 02:22:26 24 4
gpt4 key购买 nike

我正在使用 OCR ( Tesseract) 扫描图片。然而,Tesseract 在识别单词时并不总是准确的,像“kitchen”和“potato”这样的单词可能被识别为“k1thn”和“oolat0”。

要“纠正”这些错误识别的单词,我想使用库 PermissiveResearch再次搜索和匹配预定义的可能单词列表。

令我惊讶的是,该库运行得非常好,但也有一个缺点。它被构建为仅在大型数据源中搜索一个词。 OCR 扫描的结果是一个包含多个单词的 NSArray。

所以合乎逻辑的做法是像这样遍历 NSArray:

for (ScannedWord *scannedWord in inputArray) {
[[PermissiveResearchDatabase sharedDatabase] searchString:scannedWord.name withOperation:ScoringOperationTypeExact];
}

我遇到的问题是,搜索的结果是在委托(delegate)方法 (-(void)searchCompletedWithResults:(NSArray *)results) 中捕获的,该方法仅被调用 < strong>一次 当它完成搜索时。尽管我正在遍历 NSArray 并多次调用 [[PermissiveResearchDatabase sharedDatabase] searchString:scannedWord.name withOperation:ScoringOperationTypeExact];

我如何使用这个库对 NSArray 进行允许搜索?

或者您推荐一种不同的方法(使用不同的库)?

最佳答案

您能否仅从 inputArray 中的一个单词开始匹配,然后从委托(delegate)方法中继续匹配数组的其余部分?

开始:

self.copyArray = [inputArray mutableCopy];
NSDictionary * scannedWord = [self.copyArray objectAtIndex:0];
[copyArray removeObjectAtIndex:0];
[[PermissiveResearchDatabase sharedDatabase] searchString:scannedWord.name withOperation:ScoringOperationTypeExact];

INSIDE DELEGATE(成功或错误继续处理 inputArray

if(self.copyArray.count > 0)
{
NSDictionary * scannedWord = [self.copyArray objectAtIndex:0];
[copyArray removeObjectAtIndex:0];
[[PermissiveResearchDatabase sharedDatabase] searchString:scannedWord.name withOperation:ScoringOperationTypeExact];
}

这样,您将同步地迭代 inputArray 元素,并且我认为不会遗漏任何元素。

顺便说一句,我没有xcode,所以代码中可能有错别字

关于ios - 仅当委托(delegate)方法完成时才迭代 NSArray 中的下一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27973909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com