Коротко о сильных и слабых ссылках.

Сборщик мусора освободит память из-под объекта, как только не останется «сильных» указателей на него. Даже если есть «слабые» указатели (weak pointer) — как только последняя сильная ссылка удалена, объект освобождается из памяти, а оставшиеся «слабые» ссылки обнуляются.

Пример
Представьте, что наш объект — это собака. Собака хочет «убежать» (освободить память).

Сильный указатель — это поводок с ошейником. Пока поводок прицеплен к ошейнику, собака не убежит. Если 5 человек прицепят 5 поводков к одному ошейнику (5 указателей на 1 объект) — собака не убежит до тех пор, пока не отцепят все 5 поводков.

А слабые указатели — это дети, которые тычут пальцем на собаку и кричат: «Ух ты, собака!» Пока собака на поводке, они могут тыкать («указывать на объект») сколько угодно. Но если отсоединить все поводки, то собака убежит, независимо от того, сколько детей тычут в неё пальцем.

Реклама

О танцах.

Сегодняшний пост будет не очень серьезным, но тем не менее — довольно важным. Как правило, танцы (особенно с бубном) — это прерогатива системных администраторов. Но и программистам они не чужды. Вот вам несколько наглядных примеров, которые помогут повысить скиллы:

О паттернах.

Без паттернов в разработке никуда. Но сегодня уже не обязательно читать нудную «Банду четырех» (я честно пытался, но кроме слова «нудотина» никаким другим эту книгу охарактеризовать не могу).

Откуда же получить знания сегодня, причем в понятном и удобоваримом виде? Именно об этом сегодняшний пост.

Первая рекомендация: книга Андрея Будая «Дизайн-паттерны — просто, как двери». Простым и понятным языком всего на 90 страниц описаны основные паттерны проектирования, примеры из реальной жизни и примеры программного кода. Это лучшая книга по этой тематике, на которую я натыкался.

По теме iOS разработки есть интересные примеры реализаций паттернов на Swift. Тут на помощь приходит сообщество iOS Dev Course а если конкретнее, то вот эта серия видосов:

А на закуску — еще два, которые помогут прокачаться и в MVC, и в VIPER:


Ссылки, ссылки, ссылочки.

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

Начнем. Сначала у нас очень хороший видос про команды терминала. «Маководы» в целом, и iOS разработчики в частности, регулярно пользуются терминалом, поэтому небольшая обучалка командам точно будет не лишней:

На втором месте — отличная статья с «Хабра» на тему разработки: 7 смертных грехов программного проекта. Почитайте обязательно, много интересного и полезного.

И, конечно же, Архитектурные паттерны в iOS все с того же «Хабра», куда ж без них. Не MVC единым как говорится. 🙂

Ну и напоследок — немного мотивации от Стива:

А от себя добавлю: учитесь, пока вы учитесь — вы молоды.

Objective-C. Курс для начинающего.

Есть очень клевый парень Алексей Скутаренко. Он живет в штатах, и периодически выкладывает уроки по разработке для iOS.

Для начала, рекомендую посмотреть два его видеоурока по ОПП. Дело в том, что Алексей объясняет довольно быстро и, лучше сначала посмотреть что-нибудь более-менее простое в его исполнении, чтоб привыкнуть к скорости и стилю изложения (тогда все последующие видео будут восприниматься лучше).

А вот и сам курс по Objective-C для «бегиннеров». Наслаждайтесь:

Немного о классах в Swift.

Пока не забыл, даю ссылку на еще одну очень полезную статью по классам в Swift: http://habrahabr.ru/post/231739/

Автор очень хорошо объясняет про объявления, инициализаторы и идентичность. Читайте и используйте в работе.

Оооп!

Естественно, для разработки мобильных приложений необходимы знания объектно-ориентированного программирования. Я недолго искал их на «ютюбе».

«Основы программирования»:

«Основы ООП»:

И, собственно, примеры для Objective-C: