Как вы вернетесь к исходной строке из NSTextCheckingResult? - PullRequest
1 голос
/ 22 августа 2011

Я понимаю, что NSURL возвращается в NSTextCheckingResult, но как вы можете вернуться к исходной строке.NSURL форматирует URL, если здесь нет метода, который возвращает вас к исходному URL.

NSError *error = nil; 
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:
                                (NSTextCheckingTypeLink | NSTextCheckingTypePhoneNumber)
                                                               error:&error];


  [detector enumerateMatchesInString:html 
        options:0 
        range:NSMakeRange(0, [html length]) 
        usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {

           if (result.resultType == NSTextCheckingTypeLink) {
                 NSLog(@"original string is %@", ???);
           }

        }
    }];

1 Ответ

2 голосов
/ 22 августа 2011

Попробуйте:

       if (result.resultType == NSTextCheckingTypeLink) 
       {
           NSLog(@"original string is %@", 
               [result.URL isFileURL] ? [result.URL path] : [result.URL absoluteString]);
       }

Или получите все, что хотите знать об URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...