这里我是指不使用框架,纯粹的objective-c语法是如何新建一个对象的?
我在网上查了许多资料,都是用NSObject的alloc后再init的方法创建一个对象
难道objective c这个语言要新建对象还必须依赖某个框架或者某个父类的存在?这不合逻辑啊
大家讲道理2017-04-21 10:59:52
사용class_createInstance
官方文档里内容:
클래스의 인스턴스를 생성하여 기본 malloc 메모리 영역에 클래스에 대한 메모리를 할당합니다.
id class_createInstance(클래스 cls, size_t extraBytes)
매개변수
클스
인스턴스를 할당하려는 클래스입니다.
엑스트라바이트
할당할 추가 바이트 수를 나타내는 정수입니다. 추가 바이트는 클래스 정의에 정의된 것 이상의 추가 인스턴스 변수를 저장하는 데 사용될 수 있습니다.
반환값
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 또는 다음과 같은 다른 메서드로 초기화됩니다.