可変で順序付けされていない対多の関係が必要だとします。内部最適化の理由から、これはNSMutableDictionary
ではなくに格納することをお勧めしますNSMutableSet
。しかし、その実装の詳細は非公開にしたいと思います。
また、KVO 準拠のアクセサーをいくつか提供したいと思います。
- (NSSet*)things;
- (NSUInteger)countOfThings;
- (void)addThings:(NSSet*)someThings;
- (void)removeThings:(NSSet*)someThings;
さて、ディクショナリにもアクセサ (もちろん、私の実装ファイルではプライベートなもの) を提供することは便利であり、それほど害はありません。
@interface MYClassWithThings ()
@property (retain) NSMutableDictionary* keyedThings;
@end
これは私には良さそうです!アクセサーを使用しkeyedThings
てクラス内で自分をいじることができますが、他のオブジェクトは、可変で順序付けられていない (キーなし!) 対多の関係を扱っていると考えています。
私がやっていることのいくつかは「悪」かもしれないと心配している. 私はここで何か悪いことをしましたか?(たとえば、プロパティは変更可能であると想定されているためsetThings
、を提供しないのは間違っていますか?)things