Контроллеры навигации


Контроллеры навигации

Основное различие между этими классами состоит в том класс UINavigationController реализован как стек, что делает его весьма подходящима работы с иерархиями.

В чем "соль" стека

Стек (stack) — это часто используемая структура данных, которая работает по известном, принципу: "последним вошел — первым вышел". Хотите — верьте, хотите — нет, но механическая дозатор-игрушка Pez dispenser — прекрасный пример стека. Вам когда-либо доводилось его заправлять мятными пастилками? В соответствии с небольшой инструкцией, которая прилагается к каждой такой игрушке, вам необходимо выполнить несколько простых действий. Во-первых, разверните конфету. Во-вторых, откройте дозатор, опрокинув его головку (это может быть кошачья головка) назад. В-третьих, возьмите пачку (пачка — по англ. "stack" — вы должны были заметить, как удачно мы применили здесь слово "stack") конфет, крепко удерживая ее между указательным и большим пальцами, и вставьте в открытый дозатор. В-четвертых, подберите все маленькие пастилки, которые рассыпались повсюду во время выполнения первых трех действий, поскольку подобные инструкции в действительности не работают.

К сожалению, пока от этого примера, по сути, не было никакой пользы, но все же продолжим. Когда вы подбирали упавшие пастилки и закладывали их по одному в дозатор, вы работали по принципу стека. Помните, мы сказали о стеке:"последним вошел — первым вы шел"? Вот именно так у нас и получается с этим дозатором. Первую пастилку, которую вы опустите в дозатор, вы сможете достать из него только в последнюю очередь. В то же время последняя конфетка, которая "вошла" в дозатор, останется верхней, а значит, ее вы достанете оттуда первой. Компьютерный стек работает по тем же правилам.

Добавляя объект в стек, мы говорим, что заталкиваем (push) его в стек.

Первый объект, который вы поместили в стек, называется основанием стека (base)

Последний объект, который вы поместили в стек, называется вершиной стека (top) (он остается таковым до тех пор, пока вы не замените его следующим объектом, который поместите в стек).

Удаляя объект из стека, мы говорим, что выталкиваем (pop) его из стека. При извлечении объекта из стека им (этим объектом) всегда оказывается объект, который вы поместили в стек последним. И наоборот, первый объект, который был помещен в стек, всегда извлекается из него последним.
  • Дата: 7-12-2014, 14:27

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Контроллеры навигации

Технологии, секреты и фишки Apple: Iphone, iPad, iPod