非正式协议及普通类别,类扩展

一、非正式协议

所谓非正式协议就是类别,即凡是NSObject或其子类的类别。

如:NSObject+run,但是不会给NSObject增加非正式协议。否则[gun run];枪会跑

NSString+countNum 。NSString是foundation框架中的类别。

二、普通类别(只能增加方法,不能增加成员变量)

普通类别创建(.h文件):

newfile->iOS Object-C File (.m)->分类名+category+选类名

调用时需要导入头文件。

格式:

//声明

@interface  Person (base)

-(void)eat;

@end;

//实现

@implemention Person (base)

-(void)eat{

NSLog(@“人会吃”);

}

@end;

三、类扩展(是分类的一个特例,可以增加成员变量)

(1)直接增加声明 在  Person.h或Person.m文件中均可

@interface Person ()

{    float weight;}

-(void)palyLOL;

@end

实现在Person.h文件下的@implementation Person 下直接实现(通过self调用)

(2)创建(.h文件)

newfile->iOS Object-C File (.m)->类扩展名+extension+选类名

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容