关闭

Category

164人阅读 评论(0) 收藏 举报
分类:

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

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];













0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5717次
    • 积分:247
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:2篇
    • 译文:1篇
    • 评论:1条
    文章分类
    最新评论