Mam klasę dziedziczącą po obiekcie NSObject. Używa obiektu NSMutableArray do przechowywania obiektów podrzędnych, np. Ludzie używający obiektów NSMutableArray * do przechowywania obiektów Person. Jak zaimplementować NSFastEnumerator na elementy?Implementacja wartości NSFastEnumeration w klasie niestandardowej
Próbowałem następujących ale to nieważne:
@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;
}
Co to jest, że staramy się robić? Jeśli użyjesz tylko [array count], możesz już policzyć, jeśli chcesz uzyskać liczbę określonych typów obiektów w tablicy, której powinieneś użyć (obiekt id w tablicy) <= który jest szybkim wyliczeniem –
Mam wystąpienie na mojej klasie Ludzie w delegacji mojej aplikacji, powiedzmy, że chcę to zrobić: dla (Osoba * p w Ludzie) { NSLog (p); } – user593733