Пример класса, у которого свойства — функции. Кстати, первое свойство опционально, второе — нет, просто замыкание пустое. class Grapher { var yForX: ((Double) -> Double?)? var action: () -> Void = {} }

Подробно про каждый метод ViewController Lifecycle в предыдущей статье Инициализация  (из storyboard) awakeFromNib Подготовка к переходу Установка outlets свойств viewDidLoad Эти две пары методов вызывается когда  view контроллера появляется/уходит с экрана … viewWillAppear and viewDidAppear viewWillDisappear and viewDidDisappear Эти методы обработки геометрии можно вызывать …

Жизненный цикл View Controller шпаргалка Read more »

Итак жизненный цикл контроллера начинает с создания. Как я уже писал раньше  — в 99% случаях создание происходит в storyboard, и «за сценой» происходит инициализация А что потом? А вот что: Подготовка  к переходу в контроллер Установка outlet свойств Появление …

View Controller Lifecycle, жизненный цикл View Controller Read more »

В 99% случаях мы будем создавать интерфейс с помощью сториборда (storyboard) — встроенного в XCode инструмента Interface Builder. Поэтому всем элементам в этом storyboard  нужно задавать идентификаторы, чтобы потом их найти и обработать. В коде эти идентификаторы нужно собирать в …

Создание интерфейса, storyboard Read more »

В каждом контроллере, который содержит множественную  MVC, есть свойство, которое содержит массив контроллеров, которые в нем присутствуют // // proSwift.ru // var viewControllers: [UIViewController] {get set} let navController = UINavigationController() var arrayOfControllers = [UIViewController]() arrayOfControllers = navController.viewControllers

Если мы пишем протокол, с помощь которого мы хотим получить данные (DataSource)  то в функции мы всегда должны передать указатель на класс, в который мы эти данные хотим получить: // // proSwift.ru // protocol FaceViewDataSource: class { func smilinessForFeceView(sender: FaceView) …

Протокол и источник данных (DataSource) на примере Read more »

Если мы имеем дело с [AnyObject], мы можем делать привидение типов (casting) элементов или всего массива целиком. // // proSwift.ru // for item in toolbarItems { // тип item — AnyObject if let toolbarItem = item as? UIBarButtonItem { // используем в коде …

Работа с массивом [AnyObject], приведение типов Read more »

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

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