iOS Xcode制作模板类-b
为什么要定义模板类
遵守代码规范可以提高代码可读性, 降低后期维护成本. 当我们定下了一个团队都认同的代码规范, 如我们要求所有的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
- 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制作模板类-b的更多相关文章
- iOS Xcode制作模板类
转载请注明出处http://blog.csdn.net/uxyheaven/article/details/48419963 为什么要定义模板类 遵守代码规范可以提高代码可读性, 降低后期维护成本. ...
- 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++实现(采用模板类)
采用模板类实现的好处是,不用拘泥于特定的数据类型.就像活字印刷术,制定好模板,就可以批量印刷,比手抄要强多少倍! 此处不具体介绍泛型编程,还是着重叙述链表的定义和相关操作. 链表结构定义 定义单链表 ...
随机推荐
- java16 程序、进程、线程
一.程序.进程.线程 .程序:程序就是我们编写的代码,也就是指令集,是一个静态概念. .进程:操作系统调度我们的程序,动态概念,一个程序就是一个进程.进程是程序的一次动态执行过程,占用特定的地址空间, ...
- TCP/IP 中的二进制反码求和算法
对于这个算法,很多书上只是说一下思路,没有具体的实现.我在这里举个例子吧 以4bit(计算方便一点,和16bit是一样的)做检验和来验证. 建设原始数据为 1100 , 1010 , 0000(校验位 ...
- locale 详解
locale 是国际化与本土化过程中的一个非常重要的概念,个人认为,对于中文用户来说,通常会涉及到的国际化或者本土化,大致包含三个方面: 看中文,写中文,与 window中文系统的兼容和通信.从实际经 ...
- WPF的ListBox中的RadioButton不能单选问题
WPF不知道是微软故意弄的还是真的匆忙的推出的产品,在实际开发过程中有很多小问题解决很麻烦. 今天主要说一下ListBox中使用RadioButton的时候里面的RadioButton不能单选!居然成 ...
- c结构体初始化问题
结构体中的数组的初始化问题 我的代码 C/C++ code #include <stdio.h> #include <stdlib.h> struct a { int leng ...
- 转:通过API获取和创建 Oracle GL Account Code Combination ID’s (CCID’s)的几种方法汇总
1] FND_FLEX_EXT.GET_COMBINATION_ID: This API Finds combination_id for given set of key flexfield seg ...
- mac install php dev
环境开发配置 mysql 下载mysql压缩包.tar.gz 解压 mv mysql_5.7.10_osx... /usr/local/mysql sudo chown -R root:wheel / ...
- Java中的编码问题
下面将侧重介绍java乱码是如何产生的.存在哪些乱码的情况.该如何从根本上解决乱码问题.各位随博主一起征服令人厌烦的java乱码问题吧!!! 一.Java编码转换过程 我们总是用一个java类文件和用 ...
- Log4Net 在多层项目中的使用小记
原文地址:http://www.cnblogs.com/zdh8675/p/3645556.html 这几天刚好在调整一个项目,把一些自己不是很清楚的东西先试验一下,这篇文章主要是对我在项目中需要使用 ...
- git研究1
error:src refspec master does not match any 将本地GIT版本库PUSH到一个GITHUB上一个空的版本库时出现错误,本地版本库为空, 空目录不能提交 (只 ...