プロパティを世界全体に公開する必要はありません。あなたの実装.mファイルでは、「プライベート」プロパティを宣言するための小さなカテゴリを追加することができます。例えば。
#import "Class.h"
@interface Class()
@property (nonatomic, strong) NSDate *privateProperty
@end
@implementation Class
@synthesize privateProperty;
...
@end
のObjective-CではNothingは、厳格な用語で、これまで実際にプライベートではありませんので、私は、これは良い練習だったと言うだろう - それは、ARC互換のランタイムを必要とせずに、ほぼすべての保持/解放のもののを隠し、持っていますヘッダーにインスタンス変数について言及する必要はありません(これを実現する他の方法はありますが)。
歴史的なメモとして、これはヘッダーからインスタンス変数を移動する最初の方法だと思います。これはiOSと64ビットIntel 10.6以降の「新しい」ランタイムによってのみ許可されているものです。あなたのチームがそれに着手した理由。明示的にクラスを透過的にするように指示していない限り、実装は不透明でなければならないというあなたの気持ち(そして十分に受け入れられたオブジェクト指向の原則)と完全に一致するかもしれません。
これは素晴らしい回答です。ありがとうございます – Sam