搜尋

首頁  >  問答  >  主體

objective-c - objective c如何new一個物件?

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

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

PHP中文网PHP中文网2843 天前752

全部回覆(3)我來回復

  • 大家讲道理

    大家讲道理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...

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-21 10:59:52

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

    • 初始化,先呼叫 alloc 方法申請內存,然後呼叫init方法建立物件。
    • 建構方法,直接呼叫靜態建構方法建立物件。這種方法其實就是對初始化的一個包裝而已。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-21 10:59:52

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

    myArray = [[NSArray alloc] initWithObjects:@"张二",@"张三", nil];

    回覆
    0
  • 取消回覆