0

今日、私はdeallocに関するアップルのドキュメントを読みました。それはそれを読みます

「deallocメッセージを直接送信することはありません。代わりに、オブジェクトのdeallocメソッドがランタイムによって呼び出されます。」

私の理解では、deallocメッセージをオブジェクトに送信することはなく、ランタイムのみがdeallocをそれ自体に送信することを意味します。私が間違っている場合は私を訂正してください。

さらに、deallocのように、実行時にのみ呼び出される他のメソッドは何か疑問に思っています。

ランタイムリファレンスを読みましたが、理解するのに苦労しました。たとえば、deallocがドキュメントにリストされていないのはなぜですか?

4

1 に答える 1

2

私の理解では、それは、deallocメッセージをオブジェクトに送信しないことを意味します

正しい。

ランタイムのみがdeallocをそれ自体に送信します

ランタイムは、保持カウントがゼロになると、deallocメソッドをオブジェクトに送信します。ランタイムはそれ自体にdeallocを送信しません(ランタイムはオブジェクトではなく、ランタイムの割り当て解除は意味がありません!)。

于 2012-08-07T11:08:21.303 に答える