Ho una classe che eredita da NSObject. Utilizza un NSMutableArray per contenere oggetti figlio, ad es. Persone che utilizzano gli oggetti NSMutableArray * per conservare oggetti Person. Come posso implementare NSFastEnumerator sugli elementi?Implementazione di NSFastEnumeration sulla classe personalizzata
ho provato quanto segue ma non è valido:
@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;
}
Che cosa è che si sta cercando di fare? Se usi solo [numero di array] puoi già contare sul conteggio, se vuoi ottenere il conteggio di alcuni tipi di oggetti nell'array che dovresti usare per (id object in array) <= che è l'enumerazione veloce –
Ho un istanza sulla mia classe People nella mia delegata della app diciamo che voglio essere in grado di farlo: per (Persona * p in Persone) { NSLog (p); } – user593733