A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 韩三少 中级黑马   /  2015-11-11 00:14  /  548 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

6.可变数组
  初始化:
    initWithArray
    [arrayName  ObjectsAtIndexes]
    setArray

  枚举法遍历的时候不允许修改其中的元素及个数和顺序, 快速枚举法也不可以, 但是逆序枚举的时候reverseObjectEnumerator可以修改

  增加:
    addObject
    insertObject:  atIndex:        

  删除:
    removeObjectAtIndex
    removeObject

  exchange   replace

  排序:
    sortUsingSelector: @selector(isBigThan:)    // selector叫做选择器, 相当于成员方法的函数指针

7.SEL
SEL是一个类型, 用SEL声明的一个变量, 里面装的是消息, 如: SEL s = @selector(methodName);  // 有参数要写:, 即完整的方法名
@selector实际上返回的是名字ID; 作用是使方法可以赋值, 因此就可以传参, 即可以作为函数的参数来使用
编译器给每一个方法都分配了一个编号(0, 1, …), 叫名字ID, 不同的类中, 只要方法的名字相同, 名字ID就相同, 不同的是每个方法的入口地址不一样
[objectName performSelector: s withObject: ]    // 还原方法, 并调用, 有1个参数, 就加1个withObject, 最多支持2个
repondesToSelector:@selector()   //对象能否响应selector指定的方法

8.Class
Class也是一个类型, 是装类的变量, 如: Class cls = [ClassName class];   之后就可以用cls代替ClassName
作用是使类可以赋值, 因此就可以传参, 用于isKindOfClass: [ClassName class]    // 是否是ClassName类或其子类
isSubclassOfClass:[ClassName class]

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马