私はNSObjectから継承するクラスを持っています。子オブジェクトを保持するためにNSMutableArrayを使用します。 Personオブジェクトを保持するためにNSMutableArray *アイテムを使用する人。アイテムにNSFastEnumeratorを実装するにはどうすればよいですか?カスタムクラスでNSFastEnumerationを実装する
私は次のことを試してみましたが、それは無効です。
@interface People : NSObject <NSFastEnumeration>
{
NSMutableArray *items;
}
@implementation ...
- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len
{
if(state->state == 0)
{
state->mutationsPtr = (unsigned long *)self;
state->itemsPtr = items;
state->state = [items count];
return count;
}
else
return 0;
}
それはあなたがやろうとしていることは何ですか? [配列数]を使用するだけであれば、配列内の特定の型のオブジェクトの数を取得したい場合は(配列内のidオブジェクト)<=高速列挙型 –
私はアプリケーションの代理人の私のPeopleクラスのインスタンスは、これを行うことができるとしましょう: for(Person * p in People){ NSLog(p); } – user593733