16

NSCopying のこのメソッドをクラスに実装してコピーを有効にする場合、ゾーン パラメータの使用は何ですか? 新しいオブジェクトを設定する場合、alloc で十分なので、allocWithZone で割り当てる必要はありません...混乱しています...

4

2 に答える 2

25

これは、複数の「ゾーン」を割り当てていた昔の遺物です。最近では、すべてのアプリには、すべての割り当てが行われる単一のゾーンしかありませんが、NSZoneクラスはまだ存在し、依存するコードが多すぎます。+allocWithZone:変更を行うための基本的な割り当て方法です。

要するに、NSZone構造体全体を無視することができ、気にする唯一の理由+allocWithZone:は、それをオーバーライドする必要がある場合です。と同様に-copyWithZone:、ゾーンを無視できます。必要に応じて、同じゾーンでパスをコールすることもできますが+allocWithZone:、違いはありません。

于 2011-01-08T00:34:26.463 に答える
1

NSCopying Protocol Reference、具体的には copyWithZone を参照してください。

于 2011-01-08T00:33:19.077 に答える