etCount = len;
? ? }
? ? else
? ? {
? ? ? ? // 若剩余所要枚举的元素个数小于最大限制个数,则状态变1,使得后一次迭代能直接结束
? ? ? ? state->state++;
? ? }
? ?
? ? // 返回这次所要枚举的数组一共含有多少元素
? ? return retCount;
}
@end
int main (int argc, const char * argv[])
{
? ? @autoreleasepool
? ? {
? ? ? ? // insert code here...
? ? ? ?
? ? ? ? MyIterator *it = [[MyIterator alloc] init];
? ? ? ?
? ? ? ? NSLog(@"The elements are: ");
? ? ? ? for(NSNumber *num in it)
? ? ? ? ? ? printf("%ld? ", [num integerValue]);
? ? ? ? puts("\n");
? ? ? ?
? ? ? ? [it release];
? ? ? ?
? ? ? ? MyFastIterator *iter = [[MyFastIterator alloc] init];
? ? ? ?
? ? ? ? NSLog(@"The elements are: ");
? ? ? ?
? ? ? ? for(NSNumber *num in iter)
? ? ? ? {
? ? ? ? ? ? printf("%ld? ", [num integerValue]);
? ? ? ? }
? ? ? ? puts("");
? ? ? ?
? ? ? ? [iter release];
? ? }
? ?
? ? return 0;
}