Wyłącz automatyczne liczenie referencji dla niektórych plików
Pobrałem iOS 5 SDK i okazało się, że ARC jest świetną cechą nowego kompilatora Apple. Na razie wiele frameworków innych firm nie obsługuje ARC. Czy mogę użyć ARC dla mojego nowego kodu i zachować bieżący kod zachowania / Wydania bez zmian? Konwerter ARC nie działa tutaj, ponieważ niektóre frameworki, takie jak JSONKit, nie mogą być przekonwertowane do ARC za pomocą konwertera.
Edit:
Odpowiedzią jest dodanie -fno-objc-arc
do flag kompilatora dla plików, których nie chcesz ARC. W Xcode 4, można to zrobić pod docelowym - > fazy budowania - > skompilować źródła.
4 answers
Publiczne dokumenty ARC , choć nie są jasne w tej kwestii, wydają się sugerować, że tak długo, jak każda klasa jest albo cała Arc, albo wszystkie zarządzane ręcznie, klasy mogą być zintegrowane w JEDEN program.
Nie można mieszać ARC i non-ARC w jednej klasie; dokument mówi, że wysyłanie retain
, release
, autorelease
, lub retainCount
wiadomości w dowolny sposób (w tym timery i opóźnione wykonania, które używają @selector
) są zakazane w kodzie ARC. Więc nie można zrobić nie-ARC w klasie ARC (ponieważ konieczne wiadomości są zbanowane) i nie można wykonywać ARC w klasie innej niż ARC (ponieważ ARC dodaje elementy składni, które są nieprawidłowe bez ARC).
Ten sam dokument jest nieco jaśniejszy, czy można zintegrować biblioteki/frameworki spoza ARC do programu ARC: tak. Nie wspomina, czy możesz używać bibliotek/frameworków ARC w programie, w którym cały Twój kod nie jest Arc, ale biorąc pod uwagę wszystkie powyższe sugestie, wydaje się, że tak.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-23 05:11:11
To nie jest bardzo intuicyjne, jak wyłączyć ARC na Wielu plików, przez chwilę robiłem to jeden po drugim, aż zorientowałem się, jak to zrobić.
- Wybierz żądane pliki w fazie docelowej / kompilacji / kompilacji źródeł w Xcode (CMD+click lub Shift+click)
- naciśnij ENTER (podwójne kliknięcie spowoduje zresetowanie zaznaczenia, więc nie zadziała)
- Type - fno-objc-arc
- naciśnij Enter lub gotowe
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-25 11:35:49
Jeśli chcesz wyłączyć automatyczne liczenie referencji dla niektórych plików, to naprawdę proste do zrobienia, po prostu wykonaj kroki.Dodajesz flagi kompilatora w Targets - > Build Phases - > Compile Sources.
Używana flaga to -fno-objc-arc naciśnij enter po jej zapisaniu.! Musisz dwukrotnie kliknąć na prawej kolumnie wiersza pod flagami kompilatora. Mam nadzieję, że pomoże dzięki:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-02 07:05:39
Możliwe jest wyłączenie ARC dla poszczególnych plików przez dodanie flagi kompilatora-fno-objc-arc dla tych plików.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:24:59