黑马程序员技术交流社区
标题:
oc基础笔记8
[打印本页]
作者:
韩三少
时间:
2015-11-12 21:11
标题:
oc基础笔记8
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]
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2