С одной стороны, перевод официальной документации — дело не очень интересное, с другой стороны, этот перевод нигде не найти, сама документация написана достаточно живым языком, и, по сути, это мой личный блог.
Но, возможно, эта заметка будет интересна другим программистам, работающим на Mac. Foundation представляет несколько парадигм и политик программирования на Cocoa, чтобы гарантировать согласованное и ожидаемое поведение программных объектов в различных ситуациях.
К ним относятся: Сохранение и удаление объектов.
Objective-C и Foundation предоставляют Cocoa два способа гарантировать существование объектов, когда они необходимы, и освободить их, когда объекты больше не нужны.
Сборка мусора, представленная в Objective-C 2.0, автоматически отслеживает и управляет объектами, которые больше не нужны вашей программе, тем самым освобождая память.
Foundation также по-прежнему предоставляет традиционный способ управления памятью.
Он основан на политике владения объектами, которая предусматривает, что объекты несут ответственность за освобождение (освобождение) других объектов, которые они создали, скопировали или явно взяли на себя ответственность (сохранили).
NSObject (класс и протокол) определяет методы сохранения и освобождения объектов.
Пул автоматического выпуска (определенный в классе NSAutoreleasePool) реализует механизм отложенного выпуска и позволяет программе Cocoa иметь согласованную схему возврата объектов, за которые вызывающий метод не несет ответственности.
Дополнительные сведения о сборке мусора и управлении памятью см.
Сохранение и удаление объектов Изменяемые варианты классов.
Многие переменные и классы-контейнеры в Foundation имеют изменяемые версии неизменяемых классов, а изменяемый класс всегда является наследником неизменяемого.
Если вам нужно динамически изменить инкапсулированную переменную или член класса, вы можете создать экземпляр изменяемого класса.
Поскольку он наследуется от неизменяемого класса, вы можете передать изменяемый объект методам, которым требуется неизменяемый тип.
Подробнее об изменяемых объектах… Изменяемость объекта Кластеры классов.
Кластер классов — это абстрактный класс и коллекция частных конкретных классов, для которых абстрактный класс является зонтичным интерфейсом.
В зависимости от ситуации (и особенно от того, как вы создали объект), у объекта будет соответствующий класс, который вам будет возвращен.
Например, NSString и NSMutableString выступают в качестве посредников для объектов различных частных подклассов, оптимизированных для разных типов хранимой информации.
Со временем набор конкретных занятий несколько раз менялся, не нарушая программы.
Дополнительные сведения о кластерах см.
Кластеры классов Уведомления.
Уведомление — важный шаблон программирования в Cocoa. Он основан на механизме широковещательных уведомлений, который позволяет объектам (называемым наблюдателями) знать, что делает другой объект, или получать информацию о событиях пользователя или системы.
Объект, генерирующий уведомление, может не знать о существовании или личности получателя уведомления.
Существует несколько типов уведомлений: синхронные, асинхронные и распределенные.
Механизм уведомлений платформы Foundation реализован с использованием классов NSNotification, NSNotificationCenter, NSNotificationQueue и NSDistributedNotificationCenter. Дополнительную информацию об уведомлениях см.
Уведомления Теги: #macOS #Cocoa #Программирование на MacOS #Leopard #leopard #Leopard #Chulan
-
Португальский
19 Oct, 24 -
Ситуация С Яблочными Сообществами В России
19 Oct, 24 -
Замечательный Форпост На Орбите
19 Oct, 24 -
Диску 25 Лет!
19 Oct, 24 -
Корпоративные Блоги Должны Быть
19 Oct, 24 -
Ucoz Движется На Запад!!!
19 Oct, 24