2012-12-20 13 views
7

Zgodnie z moją wiedzą, wiem, że używamy flagi -fno-objc-arc, aby wyłączyć ARC dla plików, które NIE obsługują ARC w projekcie ARC.Jak przekonwertować projekt ARC na non-ARC?

Możemy również użyć flagi -fobjc-arc, aby włączyć ARC dla plików obsługujących ARC w projekcie bez ARC.

Ale jeśli chcę przekonwertować mój projekt ARC (nie konkretny plik) na projekt bez ARC, to jak powinienem jechać w tym samym kierunku?

Ktoś proszę mi powiedzieć o tym samym.

Dzięki z góry.

Odpowiedz

4

Musisz ręcznie wywołać metody zarządzania pamięcią w odpowiednich miejscach. Na ogół, każda new, alloc, retain, copy i mutableCopy połączenia powinny być zrównoważone przez release lub autorelease (drugi używany jest głównie w odniesieniu do wartości w obie strony) tak, na przykład, następujące kod ARC włączone:

MyClass *myObj = [[MyClass alloc] init]; 
[myObj doStuff]; 

OtherClass *otherObj = [[OtherClass alloc] init]; 
return otherObj; 

powinno być coś takiego pod MRC:

MyClass *myObj = [[MyClass alloc] init]; 
[myObj doStuff]; 
[myObj release]; 

OtherClass *otherObj = [[OtherClass alloc] init]; 
return [otherObj autorelease]; 

Więcej informacji na temat zarządzania pamięcią w official documentation.

+0

Jaki jest powód przyjęcia sprawy? –

+0

Nie przesłałem ci wniosku, ale myślę, że pytają o zmianę ustawień projektu z włączonego ARC na ARC, a nie o konwersję konkretnego pliku. –

+0

@JackHumphries Dzięki, widzę - ale to faktycznie zakłada konkretne IDE (Xcode) w tym przypadku, a to nie jest wymienione w pytaniu. –

18

trzeba wykonać ten krok

  1. iść do celów projektowych - Szukaj - Objective-C Automatyczne Reference Counter

  2. Ustaw NO z YES

Ciesz Progaramming !

+0

Zakłada się zastosowanie Xcode. –

+0

tak i jest to najkrótsza droga do przekonwertowania ARC na NON-ARC, ponieważ pytający zażądał tego samego, co jest "jeśli chcę przekonwertować mój projekt ARC (nie konkretny plik) na projekt Non-ARC, to jak powinienem iść dalej? to samo?" –

1

enter image description here

bardzo prosty sposób, edycja -> tajnych -> Celu-C ARC

Powiązane problemy