国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

【讀書筆記】ARC-不要向已經(jīng)釋放的對(duì)象發(fā)送消息

2019-11-14 18:40:58
字體:
供稿:網(wǎng)友

 

一,在AppDelegate.m中寫入如下代碼:

 

復(fù)制代碼
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    // Override point for customization after application launch.        NSObject *object=[[NSObject alloc]init];    NSLog(@"%ld",[object retainCount]);    [object release];    NSLog(@"%ld",[object retainCount]);            return YES;}
復(fù)制代碼

 

 

二,運(yùn)行,得出如下輸出。

 

2015-07-14 21:44:57.889 ARC不要向已經(jīng)釋放的對(duì)象發(fā)送消息[2245:90589] 12015-07-14 21:44:57.890 ARC不要向已經(jīng)釋放的對(duì)象發(fā)送消息[2245:90589] 1

 

 

三,結(jié)果分析。

1,引用計(jì)數(shù)的內(nèi)存回收方式是“只做標(biāo)記,并不抹除相關(guān)數(shù)據(jù)”。有點(diǎn)像是移動(dòng)硬盤中刪除數(shù)據(jù)的時(shí)候,只是刪除數(shù)據(jù),而這些數(shù)據(jù)并沒有真正在移動(dòng)硬盤上進(jìn)行刪除。

2,上面的代碼中obect對(duì)象釋放之后,引用對(duì)象并不總是1,有時(shí)候也會(huì)出現(xiàn)程序崩潰的情況。當(dāng)object對(duì)象所占的內(nèi)存被復(fù)用的時(shí)候,就會(huì)出現(xiàn)程序崩潰的情況。

3,“不要向已經(jīng)釋放的對(duì)象發(fā)送消息”。例子是中是向已經(jīng)釋放的object發(fā)送retainCount消息。

4,當(dāng)一個(gè)對(duì)象通過release內(nèi)存被回收之后,向這個(gè)對(duì)象發(fā)送任何消息,不管輸出結(jié)果是對(duì),是錯(cuò),都是無效的。即使和預(yù)期的一樣,也只是恰巧碰上了。

 

參考資料:

《iOS開發(fā)進(jìn)階》 --唐巧


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 右玉县| 彰化县| 峨眉山市| 米脂县| 巴青县| 玉环县| 冀州市| 扎鲁特旗| 广丰县| 肇庆市| 沐川县| 濉溪县| 永康市| 张掖市| 页游| 乳源| 美姑县| 会泽县| 犍为县| 奉贤区| 静海县| 汕尾市| 仲巴县| 宜兴市| 珲春市| 博爱县| 平乐县| 安龙县| 广东省| 钦州市| 义乌市| 阿荣旗| 伊金霍洛旗| 凤阳县| 昭通市| 南通市| 石泉县| 察雅县| 汉沽区| 汤原县| 安溪县|