在iOS UITextChecker’s
执行速度非常慢,我想在我的项目中添加和删除(learnWord:/unlearnWord:
)大约50,000。通过这个过程,将花费超过5至6小时。有没有办法优化它?或者任何简单的替代解决方案?
我尝试了以下演示:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSString *word = @"test";
CFTimeInterval startTime1 = CACurrentMediaTime();
BOOL hasLearnWord = [UITextChecker hasLearnedWord:word];
CFTimeInterval endTime1 = CACurrentMediaTime();
NSLog(@"Execution Time 1: %f, hasLearnWord: %@", endTime1 - startTime1, hasLearnWord ? @"Yes" : @"No");
CFTimeInterval startTime2 = CACurrentMediaTime();
[UITextChecker unlearnWord:word];
CFTimeInterval endTime2 = CACurrentMediaTime();
NSLog(@"Execution Time 2: %f", endTime2 - startTime2);
CFTimeInterval startTime3 = CACurrentMediaTime();
[UITextChecker learnWord:word];
CFTimeInterval endTime3 = CACurrentMediaTime();
NSLog(@"Execution Time 3: %f", endTime3 - startTime3);
return YES;
}
结果:
2014-03-05 05:48:20.064 demo[316:60b] Execution Time 1: 0.593178, hasLearnWord: Yes
2014-03-05 05:48:20.643 demo[316:60b] Execution Time 2: 0.576586
2014-03-05 05:48:21.219 demo[316:60b] Execution Time 3: 0.575505