1.引用計數(shù)器retainCount:每個對象都有這個屬性,默認(rèn)值為1,記錄當(dāng)前對象有多少人用。
? ?為對象發(fā)送一條retain/release消息,對象的引用計數(shù)器加/減1,為對象發(fā)一條retainCount,得到對象的引用計數(shù)器值,當(dāng)計數(shù)器為0時自動調(diào)用對象的dealloc方法。
? ?手動發(fā)送消息:-(id)performSelector:(SEL)@Selector
? ? ? ? Person *p = [Person new];
? ? ? ? SEL s = @selector(func);
? ? ? ? [p performSelector:s1];? ?等于 [p func];
2.MRC:手動引用計數(shù)/手動內(nèi)存管理:手動發(fā)送retain和release。
?? ARC:自動引用計數(shù)/手動內(nèi)存管理: 自動 發(fā)送retain和release。
3.野指針:OC中的野指針:指針指向的對象已經(jīng)被回收了。避免野指針:設(shè)置nil。
4.回收內(nèi)存空間的本質(zhì):代表變量所占的空間可以分配給其他人了。
5.僵尸對象:1個已經(jīng)被釋放的對象,但是這個對象所占的空間還沒被分配。
6.內(nèi)存泄漏:對象沒有被及時回收,一直在內(nèi)存中,直到程序結(jié)束。
7.MRC模式下,對象時OC對象,setter和dealoc應(yīng)該寫內(nèi)存管理機(jī)制。
8.@property:自動生成私有屬性,屬性的getter和setter方法的聲明和實現(xiàn)。
? ?@property(參數(shù)1,參數(shù)2)數(shù)據(jù)類型 名稱;
? ? 參數(shù): 多線程相關(guān)的:atomic:默認(rèn)值,setter方法有線程安全鎖,效率低;nonatomic:反之。
????????????????setter方法相關(guān)的:assign:默認(rèn)值,setter方法直接賦值;retain:生成符合MRC內(nèi)存管理的setter方法:先判斷對象是否是同一個,如果不是,release舊的,retain新的。
? ? ? ? ? ? ? ? 只讀只寫:readwrite:默認(rèn)值,同時有g(shù)etter和setter;readonly:只有g(shù)etter。、
? ? ? ? ? ? ? ? 生成getter和setter方法名稱相關(guān)的:可以修改setter和getter方法名稱。
9.@class:A包含B、B包含A的循環(huán)嵌套問題,用@class標(biāo)注這是一個類。文章來源:http://www.zghlxwxcb.cn/news/detail-849511.html
????????????????文章來源地址http://www.zghlxwxcb.cn/news/detail-849511.html
到了這里,關(guān)于Objective-C學(xué)習(xí)筆記(內(nèi)存管理、property參數(shù))4.9的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!