NSObject基類的方法

NSObject基類的方法

+(void) load

功能:類加載到運(yùn)行時(shí)環(huán)境時(shí)發(fā)送該消息
</br>
說明:在類沒有實(shí)例化對(duì)象的時(shí)候肮蛹,該方法已經(jīng)被調(diào)用。即使這個(gè)類在程序中沒有被使用创南,它也會(huì)加載伦忠。換句話說,當(dāng)應(yīng)用程序執(zhí)行的啟動(dòng)的時(shí)候稿辙,若程序是為iOS平臺(tái)設(shè)計(jì)的昆码,則肯定會(huì)在此時(shí)執(zhí)行,而且僅調(diào)用一次。 (執(zhí)行該方法時(shí)赋咽,運(yùn)行期系統(tǒng)處于“脆弱狀態(tài)”旧噪,在load方法中使用其他類是不安全的)。
</br></br>

+(void)initialize

功能:在程序首次用該類之前調(diào)用冬耿,且只調(diào)用一次舌菜。
</br>
說明:它是惰性的,只用當(dāng)程序用到相關(guān)的類時(shí)亦镶,才會(huì)調(diào)用日月;如果某一個(gè)類一直都沒有使用,那么initialize方法一直不會(huì)運(yùn)行缤骨。另外爱咬,當(dāng)執(zhí)行這個(gè)方法的時(shí)候,運(yùn)行期系統(tǒng)已經(jīng)是處于正常狀態(tài)绊起,此時(shí)可以安全使用并調(diào)用任意類中的任意方法精拟。最后,initialize方法與其他消息一樣虱歪,如果某個(gè)類未實(shí)現(xiàn)它蜂绎,而其超類實(shí)現(xiàn)了,那么就會(huì)運(yùn)行超類的實(shí)現(xiàn)代碼(調(diào)用兩次笋鄙,一次為自己师枣,一次為自己的子類)。
</br></br>

-(instancetype)init

功能:對(duì)已經(jīng)分配了內(nèi)存的實(shí)例進(jìn)行初始化萧落,(相當(dāng)于便利初始化函數(shù))践美,可以重寫默認(rèn)的便利初始化函數(shù),加一些自定義的參數(shù)
</br></br>

+ (instancetype)new

功能:同時(shí)調(diào)用alloc和init函數(shù)
</br></br>

+ (instancetype)allocWithZone:(struct _NSZone *)zone

功能:使用自定的NSZone來創(chuàng)建自己的實(shí)例找岖。已廢除陨倡,不建議使用。

+ (instancetype)alloc

功能:返回一個(gè)已經(jīng)分配好內(nèi)存的對(duì)象
</br>
說明:但是內(nèi)存中的實(shí)例變量只是默認(rèn)值
</br></br>

-(void)dealloc

功能:釋放對(duì)象自己的內(nèi)存许布,釋放對(duì)象所控制的資源兴革,包括所有實(shí)例變量的所有權(quán)。
</br>
說明:當(dāng)一個(gè)對(duì)象的引用計(jì)數(shù)為0時(shí)爹脾,系統(tǒng)自動(dòng)向?qū)ο蟀l(fā)送一條dealloc消息帖旨;可以重寫dealloc方法釋放對(duì)象內(nèi)部已經(jīng)分配好的全部相關(guān)資源。dealloc方法不能直接調(diào)用灵妨,而是有系統(tǒng)在銷毀對(duì)象時(shí)調(diào)用。

- (void)finalize

已廢除
</br></br>

- (id)copy

功能:發(fā)送接收者定義的copyWithZone:zone消息落竹,消息接收者需要實(shí)現(xiàn)NSCopying協(xié)議
</br>
說明:返回一個(gè)通過copyWithZone:創(chuàng)建的實(shí)例
</br></br>

-(id)mutableCopy

功能:發(fā)送接收者定義的mutableCopyWithZone:zone消息泌霍,消息接收者需要實(shí)現(xiàn)NSMutableCopying協(xié)議
</br>
說明:返回一個(gè)通過mutableCopyWithZone:創(chuàng)建的實(shí)例
</br></br>

+ (id)copyWithZone:(struct _NSZone *)zone OBJC_ARC_UNAVAILABLE

功能:copy操作實(shí)際所調(diào)用的方法,可以重寫此方法,定義對(duì)象的copy操作
</br>
說明:該方法是NSCopying協(xié)議的方法

+ (id)mutableCopyWithZone:(struct _NSZone *)zone OBJC_ARC_UNAVAILABLE

功能:mutableCopy操作實(shí)際所調(diào)用的方法朱转,可以重寫此方法蟹地,定義對(duì)象的mutableCopy操作
</br>
說明:該方法是NSMutableCopying協(xié)議的方法

+ (BOOL)instancesRespondToSelector:(SEL)aSelector

功能:判斷某個(gè)類的實(shí)例是否相應(yīng)某消息
</br>
說明: 不需要一個(gè)Class類的實(shí)例instance就可以通過這個(gè)類的方法獲知Class的實(shí)例是不是有相關(guān)selector的實(shí)現(xiàn)

+ (BOOL)conformsToProtocol:(Protocol *)protocol

功能:判斷是否遵從一個(gè)給定的協(xié)議
</br></br>

- (IMP)methodForSelector:(SEL)aSelector

功能:返回接收者實(shí)現(xiàn)該方法的地址,調(diào)用者可以是實(shí)例對(duì)象也可以是類對(duì)象藤为,函數(shù)返回結(jié)果的類型可能是實(shí)例函數(shù)指針怪与,也可能是類函數(shù)指針。
</br></br>

+ (IMP)instanceMethodForSelector:(SEL)aSelector

功能:根據(jù)指定的sSelector缅疟,遍歷類的實(shí)例方法列表分别,返回對(duì)應(yīng)的函數(shù)指針
</br></br>

- (void)doesNotRecognizeSelector:(SEL)aSelector

功能: 當(dāng)不存在aSelector是進(jìn)行異常處理,會(huì)使用這個(gè)函數(shù)
</br></br>

- (id)forwardingTargetForSelector:(SEL)aSelector OSX_AVAILABLE_STARTING(MAC_10_5, __IPHONE_2_0)

功能:在消息轉(zhuǎn)發(fā)第二階段懂昂,【備援接收者】這一步囚戚,將不能不能處理的未知選擇子轉(zhuǎn)發(fā)給其他接收者處理
</br></br>

- (void)forwardInvocation:(NSInvocation *)anInvocation

功能:在消息轉(zhuǎn)發(fā)第二階段潭兽,【完整消息轉(zhuǎn)發(fā)】這一步,將尚未處理的消息有關(guān)的全部細(xì)節(jié)封裝到NSInvocation對(duì)象中括授,再將消息指派給目標(biāo)對(duì)象。這種方式可以改變消息內(nèi)容岩饼,比如追加另外一個(gè)參數(shù)荚虚,或者改換選擇子。
</br></br>

- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector

功能: 返回NSMethodSignature對(duì)象籍茧,這個(gè)對(duì)象包含被標(biāo)示的實(shí)例方法的描述版述。和- (void)forwardInvocation:搭配使用
</br></br>

- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector

功能:同- (NSMethodSignature *)methodSignatureForSelector,只是為類方法
</br></br>

+ (BOOL)isSubclassOfClass:(Class)aClass

功能:判斷是否為aClass的子類
</br></br>

+ (BOOL)resolveClassMethod:(SEL)sel OSX_AVAILABLE_STARTING(MAC_10_5, __IPHONE_2_0)

功能:消息轉(zhuǎn)發(fā)的第一階段硕糊,【動(dòng)態(tài)方法解析】院水,調(diào)用此類看看是否能為此類增加一個(gè)實(shí)例方法來處理選擇子。
</br></br>

+ (BOOL)resolveInstanceMethod:(SEL)sel OSX_AVAILABLE_STARTING(MAC_10_5, __IPHONE_2_0)

功能:同+ (BOOL)resolveClassMethod:简十,消息轉(zhuǎn)發(fā)的第一階段檬某,【動(dòng)態(tài)方法解析】,調(diào)用此類看看是否能為此類增加一個(gè)類方法來處理選擇子螟蝙。
</br></br>

+ (NSUInteger)hash

功能:返回一串?dāng)?shù)恢恼,代表對(duì)象的hash值
</br></br>

+ (Class)superclass

功能: 返回當(dāng)前類的父類
</br></br>

+ (Class)class

功能:返回當(dāng)前類
</br></br>

+ (NSString *)description

功能:返回字符串形式對(duì)象的描述,描述中包含了對(duì)象的詳細(xì)信息(方便用于調(diào)試
</br></br>

+ (NSString *)debugDescription

功能:description是我們?cè)诔绦蛑写騆og會(huì)調(diào)用的方法胰默,debugDescription則是我們?cè)跀帱c(diǎn)調(diào)試時(shí)场斑,在控制臺(tái)使用po命令打印會(huì)調(diào)用的方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市牵署,隨后出現(xiàn)的幾起案子漏隐,更是在濱河造成了極大的恐慌,老刑警劉巖奴迅,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件青责,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)脖隶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門扁耐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人产阱,你說我怎么就攤上這事婉称。” “怎么了构蹬?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵王暗,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我怎燥,道長(zhǎng)瘫筐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任铐姚,我火速辦了婚禮策肝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘隐绵。我一直安慰自己之众,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布依许。 她就那樣靜靜地躺著棺禾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪峭跳。 梳的紋絲不亂的頭發(fā)上膘婶,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音蛀醉,去河邊找鬼悬襟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拯刁,可吹牛的內(nèi)容都是我干的脊岳。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼垛玻,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼割捅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起帚桩,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤亿驾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后账嚎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颊乘,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡参淹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年醉锄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了乏悄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡恳不,死狀恐怖檩小,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情烟勋,我是刑警寧澤规求,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站卵惦,受9級(jí)特大地震影響阻肿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沮尿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一丛塌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧畜疾,春花似錦赴邻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瞎暑,卻和暖如春彤敛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背了赌。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工墨榄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人揍拆。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓渠概,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親嫂拴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子播揪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容