NSDataDetector erkennt den Text "Telefonnummer"

Ich kann dieses Problem am einfachsten anhand eines Codebeispiels und seiner Ausgabe erklären, aber im Grunde ist es das, was passiertNSDataDetector erkennt eine Telefonnummer in einer Zeichenfolge, die die Wörter "Telefonnummer" enthält.

NSError *error = nil;
NSDataDetector *dataDetector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypePhoneNumber
                                                               error:&error];

NSArray *stringsToTest = @[
                           @"testing phone number 0123 4567891",
                           @"testing some other number 0123 4567892",
                           @"phone number 0123 4567893",
                           @"blah blah 0123 4567894",
                           @"testing telephone number 0123 4567895"
                           ];

for (NSString *string in stringsToTest)
{
    [dataDetector enumerateMatchesInString:string
                                   options:0
                                     range:NSMakeRange(0, string.length)
                                usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
                                    NSLog(@"%@", result.phoneNumber);
                                }];
}

Ausgabe:

2013-11-24 19:04:26.000 PhoneNumberDetector[21874:70b] phone number 0123 4567891
2013-11-24 19:04:26.000 PhoneNumberDetector[21874:70b] 0123 4567892
2013-11-24 19:04:26.000 PhoneNumberDetector[21874:70b] phone number 0123 4567893
2013-11-24 19:04:26.000 PhoneNumberDetector[21874:70b] 0123 4567894
2013-11-24 19:04:26.001 PhoneNumberDetector[21874:70b] 0123 4567895

Ich habe die Dokumentation gelesen und in SO gesucht, kann aber nichts finden, was darauf hinweist, ob dies das beabsichtigte Verhalten ist und wenn ja, warum.

Dies geschieht sowohl auf dem 7.0-Simulator als auch auf meinem iPhone 5s, auf dem 7.0.4 ausgeführt wird.

Wenn jemand Licht in dieses Thema bringen kann, würde ich es sehr schätzen.

Aktualisieren: Zur Verdeutlichung möchte ich nicht, dass der Text "Telefonnummer" Teil des Ergebnisses beim Zugriff auf das istNSTextCheckingResult phoneNumber Eigentum.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage