Модуль массива - это одна из тех вещей, которые вам, вероятно, не нужны, если вы не знаете, зачем их использовать (и обратите внимание, что я не пытаюсь сказать это в снисходительном образом!). В большинстве случаев модуль массива используется для взаимодействия с кодом C. Чтобы дать вам более прямой ответ на ваш вопрос о производительности:
Массивы более эффективны, чем списки для некоторых видов использования. Если вам нужно выделить массив, который вы НЕ ЗНАЕТЕ, то массивы могут быть быстрее и использовать меньше памяти. GvR имеет оптимизационный анекдот , в котором модуль массива выступает победителем (долго читается, но стоит того).
С другой стороны, часть причины, почему перечислены есть больше памяти, чем массивы, потому что python выделяет несколько дополнительных элементов, когда все выделенные элементы будут использоваться. Это означает, что добавление элементов в списки выполняется быстрее. Поэтому, если вы планируете добавлять элементы, список - это путь.
TL; DR Я бы использовал массив только в том случае, если у вас была исключительная потребность в оптимизации, или вам нужно взаимодействовать с кодом C (и не может использовать pyrex ).
Использование навигационной панели, которая не является стандартной, может быть, это не лучшая идея. (Я знаю, что иногда клиенты могут быть упрямыми, но мы должны учить их, что иногда стандартные решения имеют много хороших моментов, например, например, низкое обслуживание, которое для них приводит к более низким ставкам).
, в крайнем случае я могу предложить вам довольно «сильный» подход. Вы можете подклассифицировать UINavigationController с помощью специального класса, и внутри этого класса вы можете переопределить метод setNavigationBarHidden, подобный этому методу
- (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated{
[super setNavigationBarHidden:YES animated:NO];
}
. Это должно сделать панель скрытой все время. Тем не менее, я не поддерживаю такого рода решения, но это может сработать в вашем случае.