2011-08-21 38 views
1

我知道NSTextCheckingResult返回一個NSURL,但是如何返回到原始字符串。 NSURL格式化URL,除非在這裏有一個方法可以讓你回到原始URL。如何從NSTextCheckingResult返回原始字符串?

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 %@", ???); 
      } 

     } 
    }]; 

回答

2

嘗試:

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

或者得到任何你想知道的URL。