2012-08-01 19 views
0

我已经范畴的问题:对 '的NSString' 无可见@interface声明中选择 'ISURL'错误与分类iPhone

的NSString + NSString.h

#import <Foundation/Foundation.h> 
@interface NSString (NSString) 
- (BOOL)isUrl; 
@end 

的NSString + Nsstring.m

#import "NSString+NSString.h" 

@implementation NSString (NSString) 

- (BOOL) isUrl { 
    if ([self hasPrefix:@"http://"]) { 
     return YES; 
    } else { 
     return NO; 
    } 
} 
@end 

ViewController.m

#import "ViewController.h" 
#import "NSString+NSString.h" 
@implementation ViewController 
    - (void)viewDidLoad 
    { 
     [super viewDidLoad]; 
      NSString* string1 = @"http://apple.com/"; 
      NSString* string2 = @"Apple"; 
      if ([string1 isURL]) { // **Here is an error** 
       NSLog (@"string1 is URL"); 
      } 
      if ([string2 isURL]) { // **And here** 
       NSLog (@"string2 is NOT URL"); 
      } 
    } 

我做错了什么?

回答

3

isURL是不一样的isUrl :)

你叫你的方法,你isUrl类别,但你正在尝试使用一种名为代码isURL方法。


虽然你最好不要让iOS的测试,如果事情是一个URL或不 -

-(BOOL)isURL { 
    return nil != [NSURL URLWithString:self]; 
} 
+0

捂脸..谢谢了很多! – 2012-08-01 12:49:25