だから私はこのサイトに不慣れで、質問をする方法の慣習がよくわかりませんが、Objective-C を始めたばかりで、オブジェクトのインスタンス化に関連する質問があります。
さて、ルート クラス NSObject にはクラス メソッド alloc と init があり、これらのメソッドは NSObject を継承するすべてのクラス (ほぼすべてのクラス) に渡されます。オブジェクトをインスタンス化するための典型的な形式は次のようなものです。
MyObject *m = [[MyObject alloc]init];
しかし、MyObject が NSObject から継承された alloc および init メソッドを持っていることを考慮すると、MyObject と NSObject が同じ alloc および init メソッドを持っていることを考えると、これは理論的には機能する可能性があります (クラスがそれらをオーバーライドしないと仮定します)。
MyObject *m = [[NSObject alloc] init];
インスタンス化するだけで機能しますが、MyObject クラスのメソッドを呼び出そうとすると、NSException がスローされます。NSObject 割り当てを MyObject 割り当てに戻すと、機能します。理由がわかりません!これはおそらく基本的な質問ですが、何か説明はありますか?
前もって感謝します!
ジェイク