8

Widziałem wiele informacji na temat konwersji całego projektu na łuk, a następnie za pomocą flag, aby poinformować Xcode, które nie konwertować.Konwertowanie pojedynczych plików na łuk?

Co z konwersją pojedynczych plików na łuk? Próbowałem i działa dobrze. Czy mogę to zrobić? Martwię się, że skoro cały projekt nie jest konwertowany na łuk, jeśli konwertuję rzeczy tu i tam, spowoduje to wycieki pamięci.

Odpowiedz

6

Tak, możesz. Jednak musisz powiedzieć kompilatorowi, które pliki nie są ARC. Możesz to zrobić w ustawieniach projektu. Przejdź do: your project>Select the target of the app in question>Build Phases. Teraz opuść "Źródła kompilacji" i wybierz pliki, których nie chcesz skompilować za pomocą ARC, naciśnij ENTER, pojawi się małe okienko. Tutaj możesz napisać -fno-objc-arc. Naciśnij Done i gotowe.

Podczas kompilacji spróbuje dodać automatyczne liczenie odwołań do plików, które nie mają flagi -fno-objc-arc. Bardzo przydatne przy używaniu bibliotek innych niż ark., Takich jak ASIHTTPRequest lub MBProgressHud (i inne).

+0

Jak można powiedzieć, że stara się wykorzystać ARC dla innych plików? Wydaje się pamiętać, które pliki przekonwertował na ARC, a które nie. –

+0

A co, jeśli używasz kilku bibliotek, które nie mogą używać ARC? Istnieje wiele plików do zmiany, czy musisz ustawić flagi indywidualnie dla wszystkich z nich, czy jest lepszy sposób? –

+0

Jest to flaga ustawiona na kompilator w ustawieniach projektu o nazwie 'Automatyczne liczenie odwołań Objective-C '. –

1

Aby powiedzieć tylko pewien plik jest ARC użycie flagi:

-fobjc-arc 
Powiązane problemy