2013-08-29 3 views
-1

I have a table that is using NSMutableArray`. Когда я обновляю таблицу, мне нужно перезагрузить все элементы в массиве.Что более эффективно? Таблица, использующая NSMutableArray

У меня есть 2 варианта

а) Воссоздание новый NSMUtableArray и выбросить старый один

б) Удалить все элементы из существующего массива и перезагрузит снова

Из производительности/памяти и т.д. точка зрения, что является самым эффективным вариантом в мире iOS?

+1

Я предположил бы, что делать removeAllObjects будет немного более эффективным, так как он не требует выделения нового массива, а объекты были бы должны быть удалены в любом случае, если массив был отброшен. –

+0

Вместо того, чтобы просить нас угадать, вы можете попробовать оба метода и оценить производительность. – Abizern

ответ

1

С точки зрения перспективы, я считаю, что лучшим вариантом будет создание нового объекта NSMutableArray, а просто бесплатный старый, или если у вас есть ARC, пусть компилятор освободит старый объект.

С точки зрения оккупации памяти было бы лучше очистить экземпляр и перезагрузить его снова, так как у вас нет двух экземпляров в любое время в приложении, однако оно может быть полезно только для больших массивов.

Лучший выбор относительно контекста, как и в большинстве случаев ...

1

Повторное использование старого NSMutableArray будет более эффективным, так как оно будет повторно использовать одну и ту же память (память не будет выпущена при удалении всех элементов из массива). Маловероятно, что это повлияет на производительность заметным образом в вашей ситуации, хотя вам нужно будет это делать тысячи раз, чтобы это повлияло на производительность.

Смежные вопросы