Как в Swift возникают retain cycles, и какие лучшие практики есть для их предотвращения с помощью weak и unowned ссылок? — ДейлиПреп