我使用以下代码发送最近的 UPS 跟踪号(字符串),以查看 NSDataDetector 是否会将跟踪号检测为 NSTextCheckingTypeTransitInformation 类型的匹配项。该方法返回零结果。当我在 Notes iOS 应用程序中输入相同的跟踪编号时,它会为我提供查看跟踪链接(“跟踪货件”)的选项。
- (void)checkTrackingNumber:(NSString*)trackingNumber {
NSError *error = nil;
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeTransitInformation error:&error];
[detector enumerateMatchesInString:trackingNumber
options:0
range:NSMakeRange(0, [trackingNumber length])
usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
// Do Something Here
NSLog(@"result.URL is: %@",result.URL);
}];
}
是否存在某些原因导致上述代码无法在 iOS 应用中用于有效跟踪号?
最佳答案
它检查 NSTextCheckingAirlineKey 和 NSTextCheckingFlightKey。当您使用 NSTextCheckingTypeTransitInformation 时,它不会检查 UPS 跟踪号
关于ios - NSDataDetector 类型 NSTextCheckingTypeTransitInformation - 它可用于 iOS 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30810637/