关于objective-c 类目(Category),遇到的问题新手求助!

iOS 码拜 9年前 (2015-05-08) 659次浏览 0个评论
 

我的代码
NSString-Utilities.h:

#import <Cocoa/Cocoa.h>
#import <NSString.h>

@interface NSString(Utilities)
	-(BOOL) isURL;
@end

NSString-Utilities.m:

#import "NSString-Utilities.h"

@implementation NSString (Utilities)

- (BOOL) isURL
{
    if ( self.length < 7 ) return NO;
    
    NSRange range = NSMakeRange(0,7);
    NSString* prefix = [self substringWithRange:range];

    if ( [prefix isEqualToString:@"http://"] )
        return YES;
    else
        return NO;
}

@end

main.m:

#import "NSString-Utilities.h"

int main(int argc,const char * argv[]){
	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
	NSString *string1 = @"http://sdfing";
	NSString *string2 = @"sdfa";

	if ([string1 isURL])
		NSLog(@"string1 is URL");
	if ([string2 isURL])
		NSLog(@"string2 is URL");

	[pool release];
}

编译没问题,运行时提示 NSConstantString (instance) does not recognize isURL

本人新手。。大家帮忙看看谢谢。

是我表达不清楚吗。没人理呢。。
20分
将实例方法改为类方法试试,提示的已经比较清楚了。
20分
把类的名称改一下,不要随便在名字中加-等符号
谢谢,楼上两位,按着你们的提示问题解决了。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于objective-c 类目(Category),遇到的问题新手求助!
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!