Я обновил Xcode, и с момента обновления я получаю NS_ASSUME_NONNULL_BEGIN
и NS_ASSUME_NONNULL_END
макросы вокруг каждого нового файла заголовка для каждого нового класса, который я создаю.
Я знаю, что он делает, но я не заинтересован в аннотации nullability, и он вызывает ненужные предупреждения, когда я пытаюсь установить некоторые свойства в nil
в моем приложении (которые совершенно нормально установить на nil
).
Как предотвратить создание Xcode при каждом создании нового файла? (кроме очевидного: удаление их отдельно)
Всего 1 ответ
Основываясь на этой и этой статье, я смог создать собственный шаблон, чтобы избавиться от макросов NS_ASSUME_NONNULL*
.
Выдержка из первой статьи:
Место нахождения
Эти пользовательские шаблоны расположены в ~ / Library / Developer / Xcode / Templates / File Template. Если такая папка отсутствует, вы можете создать ее самостоятельно, и Xcode будет связан с ней при повторном открытии. Также вы можете сгруппировать их в подпапки внутри этой папки. Например, ~ / Library / Developer / Xcode / Templates / File Template / Custom Templates и Xcode будут правильно отображать эти группы при создании нового файла.
Настройка шаблонов
Каждый шаблон представляет собой папку с расширением .xctemplate. Эта папка содержит шаблоны файлов и ресурсы, которые будут заполнены и добавлены в проект и конфигурацию TemplateInfo.plist.
Все шаблонные настройки и поля, которые пользователь может заполнить при создании шаблона, определены в TemplateInfo.plist.
создайте путь следующим образом:
~/Library/Developer/Xcode/Templates/File Templates/Source/My Awesome Template.xctemplate
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplate
TemplateIcon.png
, TemplateIcon@2x.png
и TemplateInfo.plist
в нашу папку My Awesome Template.xctemplate
. Вы можете опустить значки копирования, если они вам не нужны в браузере или использовать свои собственные. NSObjectObjective-C and NSObjectSwift
чтобы иметь возможность создавать файлы Obj C и Swift. ___FILEBASENAME___.h
, ___FILEBASENAME___.m
, ___FILEBASENAME___.swift
, например, поместите свои макросы или в нашем случае удалите окружающие NS_ASSUME_NONNULL*
макросы