gpt4 book ai didi

objective-c - 防止 Xcode 在新 header 上创建 NS_ASSUME_NONNULL_BEGIN 和 NS_ASSUME_NONNULL_END

转载 作者:行者123 更新时间:2023-12-04 01:50:18 27 4
gpt4 key购买 nike

我已经更新了 Xcode,自更新以来,我在我创建的每个新类的每个新头文件周围都得到了 NS_ASSUME_NONNULL_BEGINNS_ASSUME_NONNULL_END 宏。

我知道它的作用,但我对它的可空性注释不感兴趣,当我尝试在我的应用程序中将某些属性设置为 nil 时它会导致不必要的警告(完全可以设置为 nil)。

如何防止 Xcode 在我每次创建新文件时创建这些文件? (除了显而易见的:单独删除它们)

最佳答案

基于 thisthis我能够创建自定义模板来摆脱 NS_ASSUME_NONNULL* 宏。

第一篇文章摘录:

Location

These user-defined templates are located in ~/Library/Developer/Xcode/Templates/File Template. If such folder is missing you can create it yourself and Xcode will be linked to it upon reopening. Also you can group them into subfolders inside that folder. For example, ~/Library/Developer/Xcode/Templates/File Template/Custom Templates and Xcode will render those groups properly when creating a new file.

Template Setup

Each template is a folder with .xctemplate extension. That folder contains file templates and resources that will be populated and added to a project and configuration TemplateInfo.plist.

All template settings and fields that user can fill in during template creation are defined in TemplateInfo.plist.

  • 创建路径如下:

    ~/Library/Developer/Xcode/Templates/File Templates/Source/My Awesome
    模板.xctemplate

  • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File
    模板/源/Cocoa Touch Class.xctemplate
  • 复制TemplateIcon.png, TemplateIcon@2x.pngTemplateInfo.plist 到我们的 My Awesome Template.xctemplate 文件夹。如果您在浏览器中不需要图标或使用您自己的图标,则可以省略复制图标。
  • 复制 NSObjectObjective-C 和 NSObjectSwift 文件夹,以便能够创建 Obj C 和 Swift 文件。
  • 编辑___FILEBASENAME___.h___FILEBASENAME___.m___FILEBASENAME___.swift,例如放置你的宏或者在我们的例子中删除周围的NS_ASSUME_NONNULL*
  • 现在您可以在最顶部的文件创建浏览器中找到您的模板
  • 利润!

关于objective-c - 防止 Xcode 在新 header 上创建 NS_ASSUME_NONNULL_BEGIN 和 NS_ASSUME_NONNULL_END,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53443330/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com