category(类别)一则实例

先看代码,这是很好说明类别的一实例:

NSStringUtilities.m

#import "NSStringUtilities.h"


@implementation NSString (Utilities)
-(BOOL)isURL{
	if ([self hasPrefix:@"http://"]) {
		return YES;
	}else {
		return NO;
	}
}

@end


UseCategories.m
#import <Foundation/Foundation.h>
#import "NSStringUtilities.h"

int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    NSString *string1 = @"http://www.xinlaoshi.com/";
	NSString *string2 = @"Pixar";
	
	if ([string1 isURL]) {
		NSLog(@"string1 is a URL");
	}else {
		NSLog(@"string1 is not a URL");
	}

	
	if ([string2 isURL]) {
		NSLog(@"string2 is a URL");
	} else {
		NSLog(@"string2 is not a URL");
	}

	
    [pool drain];
    return 0;
}
1,isURL就是在NSString中新加的方法

2,NSString (Utilities)这种规定要记住,类名(类别名)),把名去掉,就是类别了,类别就是这样来的了

3,类别是为已存在的类增加方法,而不用增加一个子类

4,类别不能为类声明新的实例变量,它只包含方法

5,类作用域中的所有实例变量,都能被这些类别方法所访问

刚才举的这个实例,类就是NSString,类别方法就是我们加的isURL




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值