自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iOS開發(fā):類的'生命周期'

移動(dòng)開發(fā) iOS
本文為大家介紹了iOS開發(fā)中類的'生命周期'等內(nèi)容,直接分享給大家,希望對(duì)51CTO的各位網(wǎng)友有所幫助,如果有什么意見歡迎交流。

光有新學(xué)IOS的朋友問(wèn)我為什么要 [[*** alloc]init],今天就專門來(lái)說(shuō)一下一個(gè)類的“生命周期”~~~.

要使用某個(gè)類的對(duì)象呢,當(dāng)然首先必須先得到一個(gè)指向該對(duì)象的變量。

例如:

Class *classInstance;

在oc中,這個(gè)變量的變量名就是classInstance了,類型就是指針,指向某個(gè)Class類的實(shí)例。

但是,這只是聲明的代碼,而不是創(chuàng)建了Class實(shí)例。

一個(gè)對(duì)象的生命周期是從創(chuàng)建開始,然后接受消息,最后在不需要的時(shí)候唄釋放掉。

而怎么創(chuàng)建對(duì)象呢?  我們通過(guò)向類發(fā)送alloc消息,就可以創(chuàng)建對(duì)象了。一個(gè)類收到了alloc消息后,就會(huì)在內(nèi)存中創(chuàng)建對(duì)象,并且返回一個(gè)指向新對(duì)象的指針,我們可以把指針保存在某個(gè)變量里。

例如:

Class *classInstance = [Class alloc];

這樣就創(chuàng)建了一個(gè)Class類的實(shí)例,并且將返回的對(duì)象指針賦給了classInstance變量。這樣我們就得到一個(gè)指向某個(gè)實(shí)例的指針,就能向它發(fā)送消息了。

但是,這樣我們就能使用了嗎?當(dāng)然不是了。雖然向類發(fā)送alloc消息能夠創(chuàng)建實(shí)例,但是在沒有完成初始化之前,新創(chuàng)建的實(shí)例是無(wú)效的。所以對(duì)新創(chuàng)建的實(shí)例,必須先向它發(fā)送一個(gè)初始化消息。

即:

[classInstance init];

而init返回的也是指針,和alloc消息一樣,都指向新創(chuàng)建的對(duì)象,所以我們可以嵌套消息發(fā)送,先讓其收到alloc消息創(chuàng)建對(duì)象,然后再收到init消息完成初始化。

即:

Class *classInstance [[Class alloc] init];

正如開頭所說(shuō)的,完成了一個(gè)類的創(chuàng)建。

而釋放對(duì)象代碼就比較簡(jiǎn)單了,(實(shí)際很復(fù)雜,著就不多說(shuō)了 - -)

classInstance = nil ;  

nil是值為0的指針,即java中的null,C里的NULL。一般表示不指向任何對(duì)象。

好吧,今天簡(jiǎn)單的稍微說(shuō)到這里。

責(zé)任編輯:閆佳明 來(lái)源: apkbus
相關(guān)推薦

2012-04-28 13:23:12

Java生命周期

2022-04-19 07:20:24

軟件開發(fā)安全生命周期SSDLC應(yīng)用安全

2015-07-09 15:42:48

ios應(yīng)用生命周期

2015-07-08 16:28:23

weak生命周期

2009-05-21 09:12:41

Java開發(fā)平臺(tái)生命周期管理

2009-08-12 18:39:01

軟件開發(fā)的生命周期

2011-03-21 09:45:52

Hello WorldObjective-C生命周期

2009-06-11 11:28:35

JSF生命周期

2010-07-14 10:48:37

Perl線程

2009-06-18 13:32:39

Java線程生命周期

2011-06-16 09:31:21

ActivityAndroid

2009-06-24 10:47:55

JSF生命周期

2012-06-20 10:29:16

敏捷開發(fā)

2013-08-19 17:03:00

.Net生命周期對(duì)象

2021-07-19 05:52:29

網(wǎng)絡(luò)生命周期網(wǎng)絡(luò)框架

2010-06-24 16:18:13

2022-05-20 10:41:22

SDLC開發(fā)模型

2010-07-14 10:59:15

Perl線程

2021-02-14 00:39:57

機(jī)器學(xué)習(xí)技術(shù)人工智能

2013-06-18 10:48:41

OpenSUSEOpenSUSE 12
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)