Odpowiedz

8

No jak na llvm document on ARC

automatycznego zliczania odniesienia realizuje automatyczne zarządzanie pamięcią dla obiektów Objective-C i bloków, uwalniając programistę od konieczności jawnie wstawić zachowuje i uwalnia. Nie zapewnia kolektora cyklu; Użytkownicy muszą zamiast tego jawnie zarządzać czasem życia.

i

Wygodne do przechowywania wskaźnik obiekt (lub wskaźnik Wygodne do przechowywania) jest wartość wygodny do przechowywania typ obiektu wskaźnik Wygodne do przechowywania (typu A). Istnieją trzy główne typy wskaźnik Wygodne do przechowywania obiektów:

  • wskaźnik bloku (utworzone przez zastosowanie daszka (^) declarator sigilu typu funkcji)
  • Cel C wskaźników obiektów (id, klasy NSFoo *, itd.)
  • typedefs oznaczone __attribute __ ((NSObject))

Inne typy wskaźnik, takich jak int * i CFStringRef, nie podlegają semantyki ARC i ograniczeń.

3

ARC bezpośrednio zwolnić tylko objc przedmiotów (nie char*, void*, int* ...). Jednak ARC wciąż nazywa metodę dealloc obiektów. Więc jeśli masz obiekt ObjC, który malloc ma trochę pamięci i wskazuje na niego znak *, a metoda dealloc wywoła wolną pamięć, to nadal będzie ona prawidłowo usuwana.

To samo dla obiektów Core Foundation, ale nadal musisz je CFRelease. Nawet darmowe mostkowane typy CF wymagają ręcznych połączeń z numerem CFRelease.

Powiązane problemy