webBG - програмисти, машинно обучение, javascript, python, php, питам, говорим, публикации

-fno-objc-arc автоматично добавя флаг на компилатор към много файлове, които използват съобщения за запазване и освобождаване

Току-що добавих отново всичките си файлове към проекта и има около 150 файла, които трябва да използват -fno-objc-arc поради освобождаването. Има ли някакъв бърз начин да добавите флаг -fno-objc-arc към всички файлове, които използват arc, без да добавяте този флаг ръчно към всички 150 файла.


Отговори:


1

лесно. В раздела Фази на изграждане на вашата цел изберете всичките 150 файла в секцията Източници на компилиране. След това щракнете двукратно върху колоната Флагове на компилатора на един от избраните файлове. Въведете -fno-objc-arc в малкия изскачащ прозорец, след което натиснете Enter.

Флагът ще бъде добавен към всички избрани файлове.

По-добро решение би било преработването на стария MRC код в ARC код. Просто изтрийте всички обаждания до release, retain и autorelease. Премахнете повикването към [super dealloc] във вашия dealloc метод. Ако dealloc сега е празен, премахнете целия метод.

15.10.2014
  • благодаря за отговора. добре, това идеално решение, ако всичките ми файлове няма да поддържат ARC, но ако избрах всички файлове, някои от тях могат да бъдат съвместими с ARC и в този случай това ще доведе до течове. Така че това означава, че трябва да избера всички файлове ръчно във фазата на изграждане с помощта на „Shift“, но в този случай трябва да проверя 150 файла от 300 файла на моя проект. Това означава, че трябва да направя 150 кликвания. Особено ако използвам 3-ти библиотеки, няма да видя кои класове използват ARC и кои не. 16.10.2014
  • Използването на Cmd-click ще ви позволи да изберете конкретни множество файлове. Трябва да знаете кои изискват флага. Няма автоматизиран начин. Би било много по-лесно да кажете на Xcode да преобразува проекта в ARC. Той ще премахне всички release и други не-ARC повиквания от файловете. 16.10.2014
  • Нови материали

    Записване на грешки — Как да записвате грешки във вашето приложение, за да ги отстраните по-късно
    Записването на грешки е важна част от „обработването на грешки“. Накратко, когато възникнат определени грешки в програмите, вие искате да знаете за това. Това е особено важно при грешки. Ти..

    Кратко въведение в теорията на графите
    Кратко въведение в теорията на графите Втора част: внедряване на python на пълни графики В моята предишна статия въведох три основни концепции за графите: върхове, ръбове и тегла. В тази..

    Днес ще пиша за машинно обучение. Смятам се за ентусиаст, а не за експерт, така че имайте това предвид. С това казано, искам...
    Днес ще пиша за машинно обучение. Смятам се за ентусиаст, а не за експерт, така че имайте това предвид. С това казано искам да обясня защо машинното обучение има значение. За да бъда съвсем..

    Какво е структурно типизиране и как Typescript го използва в своя полза?
    Всички знаят тези дни, че „Typescript е строго синтактично надмножество на JavaScript и добавя незадължително статично въвеждане към езика.“. Но какво всъщност означава? Защо миграцията от..

    3 начина за премахване на дубликати от масив в Javascript
    Вие сте уеб разработчик? Програмист ли си? Тогава ще сте запознати с JavaScript и различните му вградени функции, методи и т.н. за различни реализации, проблеми и цели. Един от тези широко..

    Архитектура и обучение на конволюционни невронни мрежи (7 точки):
    Тази публикация предоставя подробности за архитектурата на Конволюционната невронна мрежа (CNN), функциите и обучението на всеки слой, завършвайки с резюме на обучението на CNN...

    Създайте разширение за Chrome с помощта на Angular
    Този урок е базиран на манифеста на разширението на chrome версия 3 (MV3), а също и на Angular версия 2+ (2, 3 и...). Ако не сте използвали манифест версия 3, можете да следвате този урок ,..