CLR работает на виртуальной машине; все освобождение объектов обрабатывается системой сбора мусора. Как правило, в Objective-C память должна управляться вручную через старый стиль C malloc / free или через систему подсчета ссылок сохранения / освобождения. Если вы работаете со стандартным фоном «С», техника не будет выглядеть слишком чуждой.
При подсчете ссылок система подсчитывает, сколько раз использовался конкретный объект - это, в основном, «сохранение», упомянутое выше. Когда что-то делается с использованием объекта, объект вручную отправляет сообщение «release», которое уменьшает счетчик сохранения объекта на 1. Когда счет достигает 0, система автоматически освобождает объект. Это может показаться чрезвычайно громоздким по сравнению с CLR / .NET, но этот механизм обеспечивает лучшую производительность и больше контроля.
Если вы программируете в Objective-C 2.0 на Macintosh, вам повезло, поскольку сборку мусора можно включить с помощью параметра в XCode. Это будет ближе к тому, что обеспечивает CLR. Если вы разрабатываете на iPhone, сборка мусора стоит слишком дорого с точки зрения памяти и процессора, так что это не вариант. Память должна управляться вручную.
К счастью, существует промежуточная опция, которая обычно используется для отправки и «автоматического высвобождения» сообщения объекту. Этот механизм, включенный как в Macintosh, так и в iPhone, в основном объединяет выделенные объекты в глобальный словарь (его фактически называют пулом автоматического выпуска). Либо, когда приложение существует или когда пул очищается, объекты затем распределяются. Однако не все входит в пул авто-релизов, и вы не хотите помещать все туда. Я рекомендую сухое, но важное чтение языка программирования Objective-C 2.0 с сайта Apple, которое становится более подробным.
http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html
Удачи и терпения. Objective-C не новичок в этом блоке, как .Net (ему более 25 лет), но он обладает некоторыми невероятными функциями, которые .Net только начинает внедрять.