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

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

作者: 飞哥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+选类名

相关文章

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

    一、非正式协议 所谓非正式协议就是类别,即凡是NSObject或其子类的类别。 如:NSObject+run,但是...

  • iOS设计模式 (七) 协议模式

    非正式协议 非正式协议就是类别,即凡是NSObject或其子类的类别,都是非正式协议。 协议(protocol) ...

  • Category & Extension

    首先,Category(类别)和Extension(类扩展)是非正式协议的两种写法,目的都是在无需子类化的情况下,...

  • 协议protocol

    一、 非正式协议 非正式协议就是类别,即凡是NSObject或其子类的类别,都是非正式协议。 二、协议(proto...

  • ios中的协议——protocol

    思考:在一个类中,能否让一个类必须实现某种方法? 一、 非正式协议 非正式协议就是类别,即凡是NSObject或其...

  • 003-类别、类扩展、协议与委托

    类别、类扩展、协议与委托 类别 Category 类别是为已存在的类添加新的方法,以及将实现代码组织到不同模块中,...

  • iOS学习笔记非正式协议、正式协议

    一、概念: 1、非正式协议(informal protocol):所谓的非正式协就是类别,即凡是NSObject或...

  • (待更)oc 类的多继承的4种方式

    1、协议(在协议的遵守上却允许使用多继承)2、类别(方法扩展)3、类属性(对类持有,重写方法)4、runtime消...

  • 类型

    引用类型: 类 指针 块 值类型: 基础数值类型 结构 枚举 类型装饰: 协议 类别 扩展 类怎么写 先定义一个接...

  • iOS-类目、延展

    一、类目 类目:非正式协议(类目名)对一个类(原有类-什么都没有)方法的扩展(注:只允许添加方法不允许添加变量) ...

网友评论

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

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