Вот мой код:ObjC проблема памяти в массивах
NSLog(@"rc: %d", [_pagesButton retainCount]);
NSMutableArray *anArray = [[NSMutableArray alloc] initWithArray:_toolbar.items];
NSLog(@"rc: %d", [_pagesButton retainCount]);
[anArray removeObjectAtIndex:2];
NSLog(@"rc: %d", [_pagesButton retainCount]);
[_toolbar setItems:anArray animated:YES];
NSLog(@"rc: %d", [_pagesButton retainCount]);
[anArray release];
NSLog(@"rc: %d", [_pagesButton retainCount]);
и вот результат:
гс: 2
гс: 3
гс: 2
гс: 3
гс: 3
Первый rc равен 2, потому что _pagesButton сохранил эту переменную и массив toolbar.items. После того, как я создаю переменную anArray, счетчик удержания равен 3, затем я удаляю _pagesButton из переменной anArray, поэтому значение удержания переходит к 2. Затем я устанавливаю _toolbar.items, а значение count count равно 3. Но почему ??? И когда я освобождаю переменную anArray, остатки остаются 3. Почему? Пожалуйста, помогите мне немного.
Большое спасибо! :) –