objective-c - objective c如何new一个对象?
PHP中文网
PHP中文网 2017-04-21 10:57:52
[iOS讨论组]

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

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

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
大家讲道理

使用class_createInstance
官方文档里内容:
Creates an instance of a class, allocating memory for the class in the default malloc memory zone.

id class_createInstance(Class cls, size_t extraBytes)
Parameters
cls
The class that you wish to allocate an instance of.
extraBytes
An integer indicating the number of extra bytes to allocate. The additional bytes can be used to store additional instance variables beyond those defined in the class definition.
Return Value
An instance of the class cls.

Declared In
runtime.h

参考资料
http://developer.apple.com/library/ma...

巴扎黑

obj-c创建对象有两种方法

  • 初始化,先调用 alloc 方法申请内存,然后调用init方法创建对象。
  • 构造方法,直接调用静态构造方法创建对象。这种方法其实就是对初始化的一个包装而已。
天蓬老师

最近正在学习iPhone开发,书上说了嘛,objective-c是把实例化类的步骤分开来的,
alloc用来分配内存空间,然后再用init进行初始化或者用其他的方法,例如:

myArray = [[NSArray alloc] initWithObjects:@"张二",@"张三", nil];
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号