ドキュメントは言う:NSObjectなしでObjective-Cでルートオブジェクトを作成するには?
厳密 言語の一部は、ISAポインタが Objective-Cランタイムシステムと連携するオブジェクトに対して が必要とされていないが。オブジェクト は構造体 objc_object(objc/objc.hで定義されています) の構造体と同等である必要があります。 の構造体はどのフィールドにも定義されています。しかし、 独自のルートオブジェクトを作成する必要がほとんどありません。 NSObject またはNSProxyから継承するオブジェクトは、自動的にisa という変数を持ちます。
これはうれしいことですが、私はObjective-Cでどのようにルートオブジェクトを作成するのだろうと思いますか?
これは学習目的のためのものです。私はこれを知りたいだけです。私は本当にそれを見たいと思います。
MyNewRootの定義にisaポインタが追加されました。あなたは全くivarsのないオブジェクトを持つことはできません、あなたは少なくともクラスへのポインタを持っている必要があります。 – NSResponder
基本クラス "_ clang warnings"を指定せずにfalseアラーム_ "Class 'MyNewRoot'を定義するのを避けるには、#pragma clang diagnostic pushと#pragma clang diagnostic ignoredを使用してインタフェースをラップすることを検討してください。 -root-class "beforeとそれに続く#pragma clang diagnostic popを実行します。 –