当它在另一个循环中递增时如何管理int?

Tor*_*ups 2 int memory-management objective-c

我有一个带有int计数器的简单循环,当存在特殊情况时,它会在while循环内增加.我的问题很简单 - 我应该如何管理这个函数中关于int的内存?我几乎一直在使用NSNumber,而且我用int花了很少的时间似乎让我觉得我没有正确地发布它.

任何其他改进也是受欢迎的,但我对int问题非常感兴趣

- (NSArray *)parseJson:(NSArray *) items
{
  NSMutableArray* hats = [[NSMutableArray alloc] init];
  NSEnumerator *enumerator = [items objectEnumerator];
  NSDictionary* item;
  int counterz = 0;
  while (item = (NSDictionary*)[enumerator nextObject]) {
    Hat* hat = [[Hat alloc] init];

    hat.addr = [item objectForKey:@"Address"];

    BOOL* hasHat = [item objectForKey:@"HasHat"];

    if ([hasHat boolValue]) {
      if (counterz < 10) {
        [hats addObject:hat];
        counterz++;
      }
    }
  }

  return hats;
}
Run Code Online (Sandbox Code Playgroud)

先感谢您!

Joh*_*ker 6

你不需要释放一个"正常"(即:基于非对象)int- 它会幸运地在堆栈中生活(短暂的,悲惨的)生活,直到它超出范围.