Я использую cocos2d для заполнения массива NSMutable, а затем создаю NSArray из этого массива.Я делаю следующий код 3 раза подряд с разными именами массивов, и в третий раз Instruments сообщает об утечках с каждым элементом, который я добавляю в массив.добавление CCSprite, и строки, на которые он жалуется, меняются каждый раз, когда я запускаю приложение.Что я делаю неправильно?Есть ли лучший способ сделать это?
Вот мой код:
NSMutableArray *tempNumberArray = [[NSMutableArray alloc] init];
tempSprite = [[CCSprite alloc] initWithSpriteFrameName:@"0.png"];
[tempNumberArray addObject:tempSprite];
[tempSprite release];
tempSprite = nil;
tempSprite = [[CCSprite alloc] initWithSpriteFrameName:@"0.png"];
[tempNumberArray addObject:tempSprite];
[tempSprite release];
tempSprite = nil;
tempSprite = [[CCSprite alloc] initWithSpriteFrameName:@"0.png"];
[tempNumberArray addObject:tempSprite];
[tempSprite release];
tempSprite = nil;
tempSprite = [[CCSprite alloc] initWithSpriteFrameName:@"0.png"];
[tempNumberArray addObject:tempSprite];
[tempSprite release];
tempSprite = nil;
self.numbersArray = [NSArray arrayWithArray:tempNumberArray];
[tempNumberArray release];
tempNumberArray = nil;
Редактировать: Спасибо, что взглянули на это.В первый раз, когда я использую tempSprite, я инициализирую его следующим образом:
CCSprite * tempSprite = [[CCSprite alloc] initWithSpriteFrameName:@"0.png"];
[tempNumberArray addObject:tempSprite];
[tempSprite release];
tempSprite = nil;
Я освобождаю tempSprite между каждым выделением, потому что в противном случае это будет утечка.[tempNumberArray addObject: tempSprite] сохраняет объект спрайта.