背景

在团队进行项目开发的时候,一般都会统一代码风格,以方便代码的维护。

比如在以 Swift 为主的工程中,并不存在头文件的概念,声明与实现都是放在同一个文件,如果不对代码按一定规则进行分割,那在较复杂的对象文件中,对于不同的开发者来说,维护起来的成本要高上不少。

但是统一代码风格,则要求每个参与项目的开发者每个源码文件都按照规范来编写,既繁琐又浪费时间,所以可以借助 Xcode 的自定义模板功能来完成,既实现统一规范,同时不耗费额外的时间。

创建模板

Xcode 版本:Version 8.0 (8A218a)

系统模板

Xcode 系统模板的路径是 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/,文件夹里面有文件模板 File Templates 和工程模板 Project Templates,分别对应创建文件时的选项和创建工程时的选项:

接下来,可以模仿 Cocoa Touch Class 模板 (路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplat)创建自定义模板。

自定义模板

创建自定义模板,我们需要将对应的模板文件放到 /Users/xxx/Library/Developer/Xcode/Templates/File Templatesxxx 为用户名)下,新建一个 Custom 的文件夹,然后按下图所示创建对应的文件(可以从系统的Cocoa Touch Class.xctemplate 复制对应的文件过来):

  • Objective-CSwift 是模板使用对应语言
  • ___FILEBASENAME___:模板内容格式声明
  • TemplateIcon 是模板对应的图标
  • TemplateInfo.plist:是模板内容说明

修改 Swift 文件夹下的 ___FILEBASENAME___.swift 文件为(Objective-C 此处不举例):

//
//  ___FILENAME___
//  ___PROJECTNAME___
//
//  Created by ___FULLUSERNAME___ on ___DATE___.
//___COPYRIGHT___
//import UIKit// MARK: - 外部接口
extension ___FILEBASENAMEASIDENTIFIER___ {}// MARK: - 事件响应
extension ___FILEBASENAMEASIDENTIFIER___ {}public class ___FILEBASENAMEASIDENTIFIER___: UIViewController {// MARK: - 生命周期public override func viewDidLoad() {super.viewDidLoad()setupParameter()setupUI()layoutPageSubviews()}public override func didReceiveMemoryWarning() {super.didReceiveMemoryWarning()}// MARK: - 界面初始化/// 初始化UIfileprivate func setupUI() {}/// 初始化布局fileprivate func layoutPageSubviews() {}/// 初始化参数fileprivate func setupParameter() {}// MARK: - 内部接口// MARK: - 公共成员变量// MARK: - 私有成员变量// MARK: - 子控件// MARK: - 测试}
复制代码

现在可以选中刚刚创建的文件模板:

参考

  1. Xcode 自定义模板实践

转载于:https://juejin.im/post/5a30e6c9f265da432652d3fb

Xcode 创建自定义模板相关推荐

  1. dataflow_Apache Beam,Google Cloud Dataflow和使用Python创建自定义模板

    dataflow 阿帕奇光束 (Apache Beam) Apache Beam(Batch + Stream) is a unified programming model that defines ...

  2. 使用.Net Core CLI命令dotnet new创建自定义模板

    文章起源来自一篇博客:使用 .NET CORE 创建 项目模板,模板项目,Template - DeepThought - 博客园 之前使用Abp的时候就很认同Abp创建模板项目的方式.想不到.Net ...

  3. 如何在PowerPoint中创建自定义模板

    PowerPoint provides extremely useful resources called templates that automatically construct the fou ...

  4. 测试文档模板_学会word2007创建自定义模板的方法,让你新建的文档结构都一致...

    我们有时自己设计好了一个文档,想在今后的新建文档中可以在此文档基础上进行设计修改,这个怎么办?你只需将你的文档保存成模板就可以了,以后在新建文档选择你建好的模板就可以了.下面我们一起操作演示一下. 新 ...

  5. IDEA创建自定义模板

    1.项目目录任意一处 右键 > 新建 > 编辑文件模板 2.点击加号创建模板 3.设置名称(如:XML File,Servlet File),扩展名(决定该模板生成什么文件),模板内容,勾 ...

  6. php 自定义打印模板下载,PHP – 创建自定义模板系统?

    我已经在这里搜索过,令人惊讶的是我找不到答案.我发现了一个类似的线程,但没有真正的解决方案.复杂的部分是循环,如果我不需要循环我可以只是做一个常规替换. 所以,我有一个带有一些标记的.html文件,如 ...

  7. 如何在PowerPoint中将自定义模板设置为默认模板

    Microsoft PowerPoint allows users to set a custom template as the default theme when creating a new ...

  8. 前端开发:VS Code编辑器新建Vue文件自定义模板的方法

    在前端开发过程中,尤其是对于经验不足的初级开发者来说,需要掌握一些必备的提升开发速度的技巧,比如使用各种插件来提升开发速度,这样才能事半功倍. 本篇博文来分享一个开发常用的技巧,资深开发者不屑于知道的 ...

  9. 使用 .NET Core模板引擎创建自定义的模板和项目

    本文要点 .NET CLI 包含了一个模板引擎,它可以直接利用命令行创建新项目和项目项.这就是"dotnet new"命令. 默认模板集涵盖了默认控制台和基于 ASP.NET 的应 ...

最新文章

  1. C#创建MQTT客户端接收服务器信息
  2. 四年上册级计算机教学计划,小学数学四年级上册教学计划
  3. Petrozavodsk Summer-2016. Ural FU Dandelion Contest
  4. 【转】mssql中大小写的区分
  5. python控制gpio的一段代码抄的
  6. 服务机器人传感器应用
  7. MATLAB从入门到精通-matlab图像处理标记点追踪识别程序
  8. shell 随机生成10个数,找出最大值
  9. html-css样式表
  10. 在C++中各类型拼接成一个string
  11. 【笔记】shell下的主要工具
  12. kafka 0.8.2版本配置选项翻译
  13. 如何使用百度云人脸识别服务(V3版接口python语言) (七)开始应用人脸库
  14. 精密单点定位/PPP软件GAMP学习之一
  15. WAS:WAS 6.1/7.0上EJB客户端开发
  16. excel2016打开需要配置解决方法
  17. 计算机添加本地安全组用户名和密码错误,win7系统访问远程共享文件夹提示未知的用户名或密码错误的解决方法...
  18. 2009中国情爱报告:超4成未婚女性担心嫁不出去
  19. 角度前方交会点坐标计算完整步骤
  20. Spark SQL_JZZ158_MBY

热门文章

  1. javascript 解决IE8 兼容 placeholder 属性 含password
  2. vue瀑布流demo_面试加分企业级Vue瀑布流
  3. 判断是否为ajax请求
  4. Laravel 打造一个完整的项目
  5. 深入理解K8S网络原理下
  6. Transport(传输) 详解
  7. 当你用浏览器打开一个链接的时候,计算机做了哪些工作
  8. Markdown语法--整理
  9. label 阻止冒泡 防止点击label 触发2次事件
  10. Python操作MySQL存储,这些你都会了吗?