NSMutableArrayを呼び出しaddObject:
ても、その配列のセッターにアクセスできないことに気づきました。
たとえば、NSMutableArrayself.myArray
の場合、オブジェクトの追加に[self.myArray addObject:object]
は使用しません。[self setMyArray:array]
以前は、カスタムセッターとゲッターを使用して、割り当てる前に割り当てを確認していました。たとえば、クラスのオブジェクトのみを受け入れる配列が必要な場合MyClass
は、次のようにします。
- (void)setMyArray:(NSMutableArray *)myArray
{
for (id object in myArray)
{
if (![object isKindOfClass:[MyClass class]]) return;
}
_myArray = myArray;
}
- (NSMutableArray *)myArray
{
if (!_myArray) _myArray = [[NSMutableArray alloc] init];
_myArray = myArray;
}
、、およびセッターを回避する可能性のある他の同様の関数を介しaddObject:
て配列を変更するときに、これと同じ機能を実現するにはどうすればよいですか?removeObject: