検索

ホームページ  >  に質問  >  本文

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

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

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

PHP中文网PHP中文网2769日前732

全員に返信(3)返信します

  • 大家讲道理

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

    class_createInstanceを使用する
    官方文档里内容:
    クラスのインスタンスを作成し、デフォルトの malloc メモリ ゾーンでクラスにメモリを割り当てます。

    id class_createInstance(クラス cls, size_t extraBytes)
    パラメータ
    cls
    インスタンスを割り当てたいクラス。
    余分なバイト
    割り当てる追加バイト数を示す整数。追加のバイトは、クラス定義で定義されたものを超える追加のインスタンス変数を格納するために使用できます。
    戻り値
    クラス cls.

    のインスタンス

    宣言されました
    ランタイム.h

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

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-21 10:59:52

    obj-c にはオブジェクトを作成する 2 つの方法があります

    • 初期化では、最初に alloc メソッドを呼び出してメモリを適用し、次に init メソッドを呼び出してオブジェクトを作成します。
    • 構築メソッド。静的構築メソッドを直接呼び出してオブジェクトを作成します。このメソッドは実際には初期化のための単なるラッパーです。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-21 10:59:52

    私は現在 iPhone 開発を学んでいます。その本には、Objective-C がクラスのインスタンス化のステップを分離していると書かれています。 alloc はメモリ空間を割り当てるために使用され、その後、init または他のメソッド (次のような) で初期化されます:
    リーリー

    返事
    0
  • キャンセル返事