Неиспользуемые переменные не имеют ничего общего с утечками памяти.Вы хотите увидеть утечку памяти?
- (void)leakABunchOfMemory {
for (int i = 0; i < 1000000000; i++) {
NSMutableString *usedButNotUsedCorrectly = [[NSMutableString alloc] initWithFormat:@"%d", i];
}
}
Это утечка памяти.Объект создается с каждым [NSMutableString alloc]
, и ни один из них не может быть уничтожен, потому что вы теряете ссылку на них, как только заканчивается эта итерация цикла.Они просто продолжают существовать и занимать пространство, как текстовые зомби, которые жаждут ОЗУ живых.Чтобы избежать утечек в коде Objective-C, следуйте правилам управления памятью и эквивалентным правилам для любых других используемых вами библиотек.