我有类别问题:'NSString'中没有可见的@interface在选择器'isUrl'中声明
的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");
}
}
我做错了什么?
答案 0 :(得分:3)
isURL
与isUrl
不同:)
您已在类别isUrl
中调用了方法,但您尝试在代码中使用名为isURL
的方法。
虽然你最好让iOS测试一下是否是某个URL -
-(BOOL)isURL {
return nil != [NSURL URLWithString:self];
}