搜尋

首頁  >  問答  >  主體

objective-c - objective c如何new一个对象?

这里我是指不使用框架,纯粹的objective-c语法是如何新建一个对象的?

我在网上查了许多资料,都是用NSObject的alloc后再init的方法创建一个对象
难道objective c这个语言要新建对象还必须依赖某个框架或者某个父类的存在?这不合逻辑啊

PHP中文网PHP中文网2769 天前729

全部回覆(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
  • 取消回覆