美文网首页
非正式协议及普通类别,类扩展

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

作者: 飞哥3124 | 来源:发表于2016-08-02 01:16 被阅读0次

    一、非正式协议

    所谓非正式协议就是类别,即凡是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+选类名

    相关文章

      网友评论

          本文标题:非正式协议及普通类别,类扩展

          本文链接:https://www.haomeiwen.com/subject/iqkfsttx.html