這裏我是指不使用框架,純粹的objective-c語法是如何新建一個對象的?
我在網上查了許多資料,都是用NSObject的alloc後再init的方法創建一個對象
難道objective c這個語言要新建對象還必須依賴某個框架或者某個父類的存在?這不合邏輯啊
大家讲道理2017-04-21 10:59:52
使用class_createInstance
官方文檔內容:
建立一個類別的實例,在預設的 malloc 記憶體區域中為該類別分配記憶體。
id class_createInstance(Class cls, size_t extraBytes)
參數
CLS
您希望為其指派實例的類別。
額外位元組
一個整數,指示要指派的額外位元組數。附加位元組可用於儲存超出類別定義中定義的附加實例變數。
回傳值
cls 類別的一個實例。
宣布
運行時.h
參考資料
http://developer.apple.com/library/ma...
巴扎黑2017-04-21 10:59:52
obj-c建立物件有兩種方法
天蓬老师2017-04-21 10:59:52
最近正在學習iPhone開發,書上說了嘛,objective-c是把實例化類別的步驟分開來的,
alloc用來分配記憶體空間,然後再用init初始化或用其他的方法,例如:
myArray = [[NSArray alloc] initWithObjects:@"张二",@"张三", nil];