찾다

 >  Q&A  >  본문

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

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

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

PHP中文网PHP中文网2850일 전765

모든 응답(3)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-21 10:59:52

    사용class_createInstance
    官方文档里内容:
    클래스의 인스턴스를 생성하여 기본 malloc 메모리 영역에 클래스에 대한 메모리를 할당합니다.

    id class_createInstance(클래스 cls, size_t extraBytes)
    매개변수
    클스
    인스턴스를 할당하려는 클래스입니다.
    엑스트라바이트
    할당할 추가 바이트 수를 나타내는 정수입니다. 추가 바이트는 클래스 정의에 정의된 것 이상의 추가 인스턴스 변수를 저장하는 데 사용될 수 있습니다.
    반환값
    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 또는 다음과 같은 다른 메서드로 초기화됩니다.

    으아악

    회신하다
    0
  • 취소회신하다