亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

objective-c - objective c如何new一個(gè)物件?
PHP中文網(wǎng)
PHP中文網(wǎng) 2017-04-21 10:57:52
0
3
803

這裏我是指不使用框架,純粹的objective-c語法是如何新建一個(gè)對(duì)象的?

我在網(wǎng)上查了許多資料,都是用NSObject的alloc後再init的方法創(chuàng)建一個(gè)對(duì)象
難道objective c這個(gè)語言要新建對(duì)象還必須依賴某個(gè)框架或者某個(gè)父類的存在?這不合邏輯啊

PHP中文網(wǎng)
PHP中文網(wǎng)

認(rèn)證0級(jí)講師

全部回覆(3)
大家講道理

使用class_createInstance
官方文檔內(nèi)容:
建立一個(gè)類別的實(shí)例,在預(yù)設(shè)的 malloc 記憶體區(qū)域中為該類別分配記憶體。

id class_createInstance(Class cls, size_t extraBytes)
參數(shù)
CLS
您希望為其指派實(shí)例的類別。
額外位元組
一個(gè)整數(shù),指示要指派的額外位元組數(shù)。附加位元組可用於儲(chǔ)存超出類別定義中定義的附加實(shí)例變數(shù)。
回傳值
cls 類別的一個(gè)實(shí)例。

宣布
運(yùn)行時(shí).h

參考資料
http://developer.apple.com/library/ma...

巴扎黑

obj-c建立物件有兩種方法

  • 初始化,先呼叫 alloc 方法申請(qǐng)內(nèi)存,然後呼叫init方法建立物件。
  • 建構(gòu)方法,直接呼叫靜態(tài)建構(gòu)方法建立物件。這種方法其實(shí)就是對(duì)初始化的一個(gè)包裝而已。
Peter_Zhu

最近正在學(xué)習(xí)iPhone開發(fā),書上說了嘛,objective-c是把實(shí)例化類別的步驟分開來的,
alloc用來分配記憶體空間,然後再用init初始化或用其他的方法,例如:

myArray = [[NSArray alloc] initWithObjects:@"張二",@"張三", nil];
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板