Category

原创 2015年07月10日 13:36:35

更新的第一篇技术博客,希望以后坚持下去。

1.分类,类别:

definition:动态的为已经存在的类添加新的方法
function:实现类相关方法的模块化,把不同的方法实现到不同的分类文件中
imp:不能添加成员变量;
在写分类的时候,不一定要创建新文件,可以写在原来的文件中;
code:
对NSString进行的扩展示例:

#import <Foundation/Foundation.h>

@interface NSString (JSON)

+ (NSString *)json;

@end


#import "NSString+JSON.h"

@implementation NSString (JSON)

+(NSString *)json{

    return @"{'id':10,'name':'mj'}";

}

@end


对自己创建的类Student进行扩展

h文件:

#import <Foundation/Foundation.h>

@interface Student : NSObject

- (void)test;

@end

//类和分类还可以写在同一个文件中

@interface Student (ADDition)

- (void)testthree;

@end

m文件:

#import "Student.h"

@implementation Student

- (void)test{

    NSLog(@"调用了test的方法");

}

@end


@implementation Student (ADDition)

- (void)testthree{

    NSLog(@"test 3");

}

@end


分类的使用:

//important分类中只能添加方法,不能添加成员变量。

//不改变与原来的模块,我们可以无限的扩展方法

//方便团队合作,在多人同时开发时候,对于一个类分成好多个模块,大家不会相互影响

//增加新的需求,增加新的方法。


Student *stu = [[Student alloc] init];

        [stu test];

        [stu testTwo];

        NSLog(@"%@",[NSString json]);

        [stu testthree];













版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS常用category

  • 2016年08月10日 09:41
  • 1.08MB
  • 下载

rfc_category

  • 2017年03月10日 08:15
  • 8.02MB
  • 下载

iOS Category 和 Protocol 中的 Property 你们真的会了么?

一、property 合成存取器:  @property的格式:  1 @property (修饰列表) 变量类型 变量名;    Xcode4.4之前: @p...

【iOS沉思录】OC中的类扩展机制:Category类别和Extension类扩展

OC中类别(Category)是什么? Category类别是Objective-C语言中提供的一个灵活的类扩展机制。类别用于在不获悉、不改变原来代码的情况下往一个已经存在的类中添加新的方法,只需要知...
  • cordova
  • cordova
  • 2017年01月19日 23:38
  • 957

iOS Runtime详解之给Category添加成员变量(怎么设置关联对象)

好吧,没办法,在项目中我想用category,至于为什么用category而不用继承,这个我在这就不多说了,我的category博客中特意讲过,在这里就不赘述,我用了category,但是想要给我这个...

20100513Category半成品

  • 2010年05月13日 17:55
  • 14.74MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Category
举报原因:
原因补充:

(最多只允许输入30个字)