ARC to technologia, która odnosi się do kodu źródłowego skompilowanego przez Objective-C kompilator i to ma wpływ na obrót każdego zadania tak:
foo = bar
Gdzie „foo” i „bar” są NSObjects do następującego kodu:
if (foo != null)
[foo release];
if (bar != null)
[bar retain]
foo = bar;
Jak widać, jest to tylko podstęp t kompilator kapelusz przepisuje twój kod, więc nie zapominasz o zachowaniu/zwolnieniu rzeczy i odnosi się tylko do Objective-C.
Jakie zastosowania biblioteki Objective-C (ARC lub brak ARC) nie są tak naprawdę ważne dla MonoTouch, o ile wykorzystują istniejący udokumentowany protokół, aby zachować i kiedy go zwolnić. MonoTouch tylko przestrzega tych zasad.
Obiekty C# nie mają ścieżki kodu zatrzymania/zwolnienia, a zamiast tego wystarczy użyć GC, aby określić, które obiekty są żywe.
Po wyświetleniu obiektów Celu-C w świecie C#, Monotouch przyjmuje odwołanie (wywołuje funkcję zatrzymania). Gdy GG MonoTouch ustali, że obiekt nie jest już dostępny dla żadnego zarządzanego kodu, wywołanie GC wywołuje obiekt.
Dobra prezentacja na temat: "Zaawansowane zarządzanie pamięcią na iOS i Androidzie - Evolve 2013" http://xamarin.com/evolve/2013#session-0w86u7bco2 –