3

一人で作業している場合、またはアプリのすべてのプロパティ、ivar にアクセスできるチームと一緒に作業している場合、Xcode で @private ディレクティブを使用するポイントは何ですか?

メモリ使用量、パフォーマンスなどの利点はありますか? それとも、これは大規模なチーム向けのものであり、一部が将来変更される可能性のあるものを使用すべきではありませんか?

ありがとう

4

1 に答える 1

4

クラス宣言でを使用@privateする@interfaceと、他のクラスが ivar にアクセスできなくなります。これはカプセル化にとって重要です。これは、1 人の開発者にとっても、何十人もの開発者のチームにとっても同じくらい重要です。

カプセル化により、内部でどのように機能するかを知る必要なく、クラスに提供された API のみを使用することが保証されます。しばらくすると、実装を変更したくなるかもしれません。これは、そのクラスをすでに使用しているクラスには影響しません。aAPI は変更されず、実装のみが変更されます。

ivar は、指定されたクラスの実装内でのみアクセスする必要があることに注意してください。他のクラスは、これらの ivar にアクセスできません。そうしないと、コードが非常に脆弱になり、保守が困難になります。

編集:最新の Objective-C では、.h ファイルに ivar を含めることさえできなくなりました。それらを @implementation 行に移動します。そこでは、それらが非公開であることが保証されており、.h ファイルを使用している人はあなたが持っている ivar を知ることさえありません。

于 2012-11-06T19:48:31.573 に答える