[Перевод] Интеграционное тестирование для проверки на наличие утечки памяти

Мы пишем множество юнит тестов, разрабатывая приложение SoundCloud под iOS. Юнит тесты выглядят вполне великолепно. Они короткие, (надеюсь) читабельны, и они дают нам уверенность в том, что код, который мы пишем, работает так, как и ожидается. Но юнит …

[Из песочницы] Изменяем содержимое нотификации приложения iOS

Привет!

В этой статье я хочу поделиться своим опытом использования одного неочевидного (по крайней мере для меня) варианта изменения текста уведомления приложения, отправкой дополнительных данных через UNUserNotificationCenter.

Я надеюсь эта стат…

«Фабричный метод» и «Абстрактная фабрика» во вселенной «Swift» и «iOS»

Слово «фабрика» – безусловно одно из самых часто употребляемых программистами при обсуждении своих (или чужих) программ. Но смысл в него вкладываемый бывает очень разным: это может быть и класс, порождающий объекты (полиморфно или нет); и метод, создаю…

Композитный «datasource»-объект и элементы функционального подхода

Как-то раз я (ну ладно, даже не я) столкнулся с задачей добавить в UICollectionView с определенным типом ячеек одну ячейку совершенно другого типа, причем делать это лишь в особенном случае, который обрабатывается «выше» и никак не зависит от UICollect…

Автоматически сгенерированные пароли в iOS 12

Если в вашем приложении есть функция регистрации, включающая в себя возможность или необходимость ввода новых имени пользователя и пароля, скорее всего, вас заинтересует нововведение в «iOS 12», которое я хотел бы обрисовать. Это сервис, который придум…

Архитектурный шаблон «Итератор» («Iterator») во вселенной «Swift»

«Итератор» – один из шаблонов проектирования, которые программисты чаще всего не замечают, потому что его реализация, как правило, встроена непосредственно в стандартные средства языка программирования. Тем не менее, это тоже один из поведенческих шабл…