iOS Xcode制作模板类
转载请注明出处http://blog.csdn.net/uxyheaven/article/details/48419963
为什么要定义模板类
遵守代码规范可以提高代码可读性, 降低后期维护成本. 当我们定下了一个团队都认同的代码规范, 如我们要求所有的viewController的代码都得按照下面来组织:
#pragma mark - def
#pragma mark - override
#pragma mark - api
#pragma mark - model event
#pragma mark - view event
#pragma mark - private
#pragma mark - getter / setter
- 1
- 2
- 3
- 4
- 5
- 6
- 7
可落地的时候, 你懂的….
如何要求崇尚自由的developer都按照这个去写,尤其是还得先记下这个规范.
静态检查是一个办法. Review的时候强制要求改是一种办法. 本文将介绍另外一种办法, 建立模板类.
如何用定义好的模板类
如何用定义好的模板类, 直接看一段动画:
在建立类模板文件的时候, 把我们定义好的代码组织规范都搬进去. 这样大伙写代码就不会太随意了吧?
模板类如何制作
从头制作一个模板类有些坑. 我们采用简单的办法, 先拷贝一个模板类, 然后修改成自己需要的样子.
https://github.com/uxyheaven/XYXcodeTemplate这里有笔者建立的一个简单的模板类的模板. 先下载下来, 再修改成你需要的样子, 最后拷贝到Xcode(写这篇文章的时候是Xcode6哦,如果今后目录变了,自行找下)的文件模板文件夹里/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Folder
. 这样就可以使用了.
修改说明
从系统类继承的直接在系统类的文件夹里改
- 如从UIViewController继承的, 在ViewController里
___FILEBASENAME___.h
里的代码改成你希望的___FILEBASENAME___.m
里的代码改成你希望的
从自定义类继承的需要做一些额外设置
- 文件夹的名字改成基类的名字
- TemplateInfo.plist里的Options -> Item 1 -> Values -> Item 1 的值改成基类的名字
版权声明:本文为博主原创文章,未经博主允许不得转载。
iOS Xcode制作模板类的更多相关文章
- iOS Xcode制作模板类-b
为什么要定义模板类 遵守代码规范可以提高代码可读性, 降低后期维护成本. 当我们定下了一个团队都认同的代码规范, 如我们要求所有的viewController的代码都得按照下面来组织: #pragma ...
- iOS - Xcode 配置
1.Xcode 配置 1.1 OS X 1)main 文件注释修改路径: /Applications(应用程序) ▸ Xcode.app ▸ Contents ▸ Developer ▸ Librar ...
- [iOS]封装单例类
[iOS]封装单例类 今天在学习iOS的SQLite开发,发现在需要使用SQLite的每个视图中,都需要对数据库进行打开或关闭,觉得挺麻烦的:于是在想能否写个单例类对这些操作进行封(因以前一直在使用D ...
- iOS 插件制作
概述 我们平时也使用了非常多的xcode插件,尽管官方对于插件制作没有提供不论什么支持,可是载入三方的插件,默认还是被同意的.第三方的插件,须要存放在 ~/Library/Application Su ...
- xcode制作越狱后ipa安装文件
正常情况下发布测试版给用户需要问到对方设备ID并添加到开发者证书里去感觉有点麻烦,如果是已越狱过的机器可以使用xcode制作ipa文件,并直接用itunes同步进去,这样方便多了. 将运行目标选为iO ...
- iOS/Xcode异常:no visible @interface for XXX declares the selector YYY
在iOS/Xcode开发过程中,出现如下异常信息: no visible @interface for XXX declares the selector YYY 分析原因: There are lo ...
- ##xcode 文件模板自定义
xcode 文件模板自定义 在使用xcode内部模板创建C++类文件时,创建出来的头文件是.hpp结尾的,但是我想用.h结尾的, 所以就网上找了下资料看能不能自定义模板,这样还可以修改文档注释.在网上 ...
- iOS中处理时间的类
登录|注册 sakulafly的专栏 目录视图 摘要视图 订阅 Markdown博文大赛清新开启 天天爱答题 一大波C币袭来 中国云计算大会演讲议题公布 大 ...
- 单链表的C++实现(采用模板类)
采用模板类实现的好处是,不用拘泥于特定的数据类型.就像活字印刷术,制定好模板,就可以批量印刷,比手抄要强多少倍! 此处不具体介绍泛型编程,还是着重叙述链表的定义和相关操作. 链表结构定义 定义单链表 ...
随机推荐
- 【Unity/Kinect】Kinect入门——项目搭建
本文是Unity Store里的官方Demo包中的ReadMe翻译(别人翻的),介绍了用Unity如何入门搭建起一个Kinect项目工程. 非常感谢下面这位大大的无私奉献! http://www.ma ...
- 【C#/WPF】GridSplitter 分割布局,拖拽控件分隔栏以改变控件尺寸
需求:界面由多部分控件组成,想要拖拽控件之间的分隔栏以改变尺寸. MainWindow.xaml: <Grid> <Grid.ColumnDefinitions> <Co ...
- 如何在linux下实现mysql数据库每天自动备份
建备份文件夹: mkdir mysql_data_bak 建脚本文件: touch autobackupmysql.sh 打开文件 vi autobackupmysql.sh 在脚本中加入如下内容: ...
- Spring的作用域以及RequestContextListener作用<转>
一.配置方式 在Spring2.0中除了以前的Singleton和Prototype外又加入了三个新的web作用域,分别为request.session和global session,如果你想让你的容 ...
- CentOS6.5下安装Nexus
一.环境准备 (1) CentOS6.5 (2) nexus-latest-bundle.tar.gz 下载地址:http://www.sonatype.org/nexus/archived/ 二.安 ...
- C++ 递归实现汉诺塔
C++实现汉诺塔 #include <iostream> using namespace std; void move(int n,char x,char y,char z) { ) { ...
- sublime text2 配置
2.使用Package Control组件安装 也可以安装package control组件,然后直接在线安装: 按Ctrl+`调出console 粘贴以下代码到底部命令行并回车:import url ...
- CentOS6 配置FTP服务器
编辑 删除 1.先检查有没有安装 rpm -q vsftpd 如果没有安装 yum install vsftpd 2.先关闭防火墙进行调试. service iptables stop 或者一 ...
- e673. Getting Amount of Free Accelerated Image Memory
Images in accelerated memory are much faster to draw on the screen. However, accelerated memory is t ...
- QHeaderView的点击和双击事件
QTablewidget的horizontalHeader() 和 verticalHeader() 得到的表头:QHeaderView 点击事件的触发函数: sectionClicked(int) ...