在iOS 中一个对象最少需要实现NSObject Protocol的方法。
一个遵守了NSObject Protocol的对象可以被认为是一个类的对象。这个对象可以被询问一下信息:
- Class, 和它的类在继承链中的位置
- 协议一致性
- 回复某个具体消息的能力
Cocoa的根类采用了这个协议,所以所有继承走NSObject的对象都有这个协议描述的特点。
class: 返回消息接收者的类对象。
superClass: 返回消息接收者的父类对象。
isEqual:: 返回消息接收者和目标对象是不是同一个。
hash: 返回一个整数,可以作为一个哈希表中的地址。
self: 返回消息接收者自身。
isKindOfClass:: 返回消息接收者是否是目标类或者目标类子类的实例。
isMemberOfClass: 返回消息接收者是否是目标类的实例。
respondsToSelector: 返回消息接收者是否实现或继承了某个回复目标消息的方法。
conformsToProtocol: 返回消息接收者是否遵守了目标协议。
description: 返回消息接收者自身的一个描述。
debugDescription: 返回消息接收者显示在debugger中的描述。
performSelector:: 向消息接收者发送目标消息,并返回执行消息的结果。
performSelector:withObject:: 向消息接收者发送一个带参数的消息, 并返回执行消息的结果。
performSelector:withObject:withObject::向消息接收者发送两个带参数的消息, 并返回执行消息的结果。
isProxy: 返回消息接收者是否不继承自NSObject。
retain: 增加消息接收者的引用计数。
release: 减少消息接收者的引用计数。
autorelease: 在当前的autorelease pool中减少消息接收者的引用计数。
zone: Zones 被大多数以它为参数地类弃用或者忽视。













网友评论