美文网首页
oc中的 分类 和 代理

oc中的 分类 和 代理

作者: 下页天 | 来源:发表于2016-10-10 12:36 被阅读122次

oc 中的分类 Category

  • 类别的声明格式 @interface 类名 (类别的名字)
  • @interface Person (FootBall)
  • 注意:在类别中添加属性,系统是不会实现setter和getter、也不会生成对应的成员变量
    • 在setter方法中采用runtime给某个对象添加一个成员变量

      -(void)setSubject:(NSString *)subject{
          //使用runtime为setter方法赋值
          objc_setAssociatedObject(self, "subject", subject, OBJC_ASSOCIATION_COPY_NONATOMIC);
      }
      
          -(NSString *)subject{
          //getter 方法中要在运行时去返回运行时创建的临时成员变量
          return objc_getAssociatedObject(self, "subject");
      }
      

oc中的代理 delegate

  • 声明协议

        @protocol BossDelegate <NSObject>
        @required//必须实现
        -(void)teachiOS:(NSString *)project;
        @optional//可选实现的方法
        -(void)helpStudent;
        //带返回值的协议方法
        -(CGFloat)reportQingkuang:(NSString *)qingkuang;
        @end
        
    
  • 代理指针

        //委托方要付出的代理,声明代理属性
        @property (nonatomic, weak) id <BossDelegate>delegate;
        
    
  • 建立代理关系即可

相关文章

  • oc中的 分类 和 代理

    oc 中的分类 Category 类别的声明格式 @interface 类名 (类别的名字) @interfac...

  • 分类、类扩展与继承

    在OC中,扩展一个类的方式有两种,继承和分类。 分类(Category) 概念 分类(Category),是OC中...

  • iOS面试之OC模块

    OC oc内容如下:1.分类2.关联对象3.扩展4.代理5.通知6.KVO7.KVC8.属性关键字 1.分类 分类...

  • Swift— 便利构造器 (extension)

    * extension相当于OC中的分类, 特点和OC中的分类一样 * 不能定义存储属性 * 如果想给系统的类新增...

  • OC基础(七)OC中的block、协议、代理、分类

    block 虽然很早就学习过block方面的知识,但一直没怎么用过,说明自己还是个菜鸟中的菜鸟,看到大牛们的代码优...

  • Swift 代理

    Swift中的代理和OC中的差不多1, 声明代理 2, 设置变量 3, 调用代理方法 4, 注册代理 5, 实现代...

  • OC、swift混编中的反向传值

    一 OC向swift传值 1) 代理 1.1在oc中创建 代理 #import @protocolSecon...

  • iOS 分类和扩展

    iOS 分类和扩展 分类 Category 分类(Category)是OC中的特有语法,它是表示一个指向分类的结构...

  • iOS面试进阶篇(一)

    目录 OC的理解与特性OC内存管理机制MVC与MVVM设计模型对比垃圾回收机制协议,分类,KVC,KVO,代理,通...

  • 2021-02-13

    代理的分类 认识新事物,最好从分类他开始。认识民法中的代理制度,就是要从采取不同的标准分类代理开始。 代理可以划分...

网友评论

      本文标题:oc中的 分类 和 代理

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