Вы не ничего не делаете со всеми этими myGrid
объектами (кстати, имена классов должны начинаться с заглавной буквы). Ваш цикл создает контроллер представления, загружает что-то в его свойство webView
, а затем освобождает его, что бессмысленно.
Я полагаю, что вы что-то делаете с grid
после завершения цикла - что это? Если вам действительно нужно 20 различных myGrid
объектов, то вам нужно добавить их в массив или что-то во время цикла, потому что в данный момент вы просто перезаписываете значение grid
каждый раз, когда ваш цикл обрабатывается. Если вы удалите оператор release, то у вас будет один myGrid
объект в конце цикла и 19 пропущенных экземпляров из других проходов.
Если вам нужен один grid
объект, то создайте его до начала цикла - но похоже, что он просто получит один объект, который настроен, как бы вы его ни устанавливали во время последней итерации цикла.
UPDATE
ОК, теперь вы включили свой полный код, это немного понятнее. Вы должны держать вокруг каждого grid
объекта. Создайте NSMutableArray перед вашим циклом for (вероятно, это должно быть свойство любого объекта, в котором находится этот код):
self.gridArray = [NSMutableArray array];
for (... // your loop here
В цикле, перед тем как освободить сетку, добавьте следующее:
[self.gridArray addObject:grid];
[grid release];
Это предотвращает потерю ссылки на каждый grid
объект, кроме последнего, и предотвращает утечку памяти в этом коде. Позже вы можете освободить или изменить объекты в вашем gridArray
по своему усмотрению.