Хотя сохранение циклов является действительной проблемой, причина слабой ссылки больше связана с точкой зрения Apple о том, как использовать шаблон делегирования с uikit и другими элементами из коробки, что объясняется здесь:
http://developer.apple.com/library/IOs/documentation/General/Conceptual/DevPedia-CocoaCore/Delegation.html
В частности: «Основное значение делегирования состоит в том, что оно позволяет легко настраивать поведение нескольких объектов в одном центральном объекте.»
Если делегат имеет дело с управлением делегированнымзадачи нескольких объектов, тогда эти объекты не должны сохранять делегат и не должны нести ответственность за освобождение делегата, поскольку он может использоваться другими объектами.Слабая ссылка усиливает концепцию, согласно которой управление делегатом не является обязанностью делегата.
Примером в задаче c является один делегат, используемый для нескольких табличных представлений, например, при использовании табличного представления и контроллера searchdisplaycontroller с панелью uisearch.Примеры яблок используют контроллер в качестве делегата, но рассуждения все еще сохраняются при использовании одного настраиваемого делегата как для основного представления таблицы, так и для представления таблицы результатов для вашего поиска.Этот пользовательский делегат, скорее всего, будет сохранен вашим контроллером для предоставления обоим табличным представлениям.
Это принципиально отличается от базового шаблона делегирования, на который ссылаются в других языках, где делегат часто создается делегатором, и каждый экземпляр может управлять своим собственным экземпляром делегата.