搜索

首页  >  问答  >  正文

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

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

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

PHP中文网PHP中文网2769 天前730

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