在iOS 中一個對象最少需要實現(xiàn)NSObject Protocol的方法娜谊。
一個遵守了NSObject Protocol的對象可以被認為是一個類的對象骗随。這個對象可以被詢問一下信息:
- Class, 和它的類在繼承鏈中的位置
- 協(xié)議一致性
- 回復某個具體消息的能力
Cocoa的根類采用了這個協(xié)議颜价,所以所有繼承走NSObject的對象都有這個協(xié)議描述的特點铜邮。
class
: 返回消息接收者的類對象洪规。
superClass
: 返回消息接收者的父類對象敷搪。
isEqual:
: 返回消息接收者和目標對象是不是同一個。
hash
: 返回一個整數(shù)留量,可以作為一個哈希表中的地址窄赋。
self
: 返回消息接收者自身。
isKindOfClass:
: 返回消息接收者是否是目標類或者目標類子類的實例楼熄。
isMemberOfClass
: 返回消息接收者是否是目標類的實例忆绰。
respondsToSelector:
返回消息接收者是否實現(xiàn)或繼承了某個回復目標消息的方法。
conformsToProtocol:
返回消息接收者是否遵守了目標協(xié)議可岂。
description
: 返回消息接收者自身的一個描述错敢。
debugDescription
: 返回消息接收者顯示在debugger中的描述。
performSelector:
: 向消息接收者發(fā)送目標消息缕粹,并返回執(zhí)行消息的結果稚茅。
performSelector:withObject:
: 向消息接收者發(fā)送一個帶參數(shù)的消息纸淮, 并返回執(zhí)行消息的結果。
performSelector:withObject:withObject:
:向消息接收者發(fā)送兩個帶參數(shù)的消息峰锁, 并返回執(zhí)行消息的結果萎馅。
isProxy
: 返回消息接收者是否不繼承自NSObject。
retain
: 增加消息接收者的引用計數(shù)虹蒋。
release
: 減少消息接收者的引用計數(shù)糜芳。
autorelease
: 在當前的autorelease pool中減少消息接收者的引用計數(shù)。
zone
: Zones 被大多數(shù)以它為參數(shù)地類棄用或者忽視魄衅。