zoukankan      html  css  js  c++  java
  • ObjectiveC category

    类别:category

    类别:为现有的类添加新方法的方式。

    创建(.h文件):

    @interface NSString (NumberConvenience)

    - (NSNumber *) lengthAsNumber; //需要添加的方法

    @end //NumberConvenience

    实现(.m文件):

    @implementation NSString (NumberConvenience)

    - (NSNumber *) lengthAsNumber

    {

    //函数体

    }

    @end //NumberConvenience

    局限性:

    1 无法添加实例变量;

    2 名称冲突。

    作用:

    1 利用类别进行分散实现;把一个类实现为多个不同的类别,在类别(逻辑分组)中将方法组织起来。

    2 使用类别创建向前引用;

    3 非正式协议&委托&类别:被发送给委托对象的方法可以声明为一个NSObject的类别。某个类让委托对象执行该类自己的某些操作。

    非正式协议:创建一个NSObect的类别称为”创建一个非正式协议“;

    委托:一种对象,另一个类的对象会要求委托对象执行它的某些操作。

    如何知道委托对象能否处理发送给他的响应消息?

    首先检查对象,询问能否响应该选择器,如果该对象能够响应该选择器,则给它发送消息。

    @selector(// 函数方法名)

  • 相关阅读:
    time 模块学习
    day 14 自定义模块,常用模块 time .datetime ,time 模块
    day 13 课后作业
    day 12 课后作业
    day 11课后作业
    树状数组最值
    hdu 1059 Dividing bitset 多重背包
    XVII Open Cup named after E.V. Pankratiev. XXI Ural Championship
    最长公共子序列板/滚动 N^2
    Uva 10635
  • 原文地址:https://www.cnblogs.com/kimimaro/p/2047722.html
Copyright © 2011-2022 走看看