Mac OS X 10.8 の Objective-C ランタイム ライブラリ ソース コードのバージョンを見ると、 NSObject.mmファイルがあることに気付きました。その名前が示すように、NSObjectクラスの実装に加えて、組み込みの自動解放プールと保持カウントの実装があります。
ただし、Mountain Lion のバージョンより前の ObjC ランタイム ライブラリのバージョンは、NSObjectクラスを実装していませんでした (たとえば、 Mac OS X 10.7 の Objective-C ランタイム ライブラリ ソース コードNSObject.mmで確認できるように、ファイルがありませんでした)。 )。
これは本当に、そのNSObjectクラスが Foundation ライブラリ コンポーネントではなく、Objective-C ランタイム ライブラリの一部になったことを意味するのでしょうか? はいの場合、なぜですか? -framework Foundationをサブクラス化するときに、Foundation ライブラリ全体 (を使用) に対する 1 つのリンクを避けるためNSObjectですか?