Xcode开发技巧之Code Snippets Library
http://blog.csdn.net/lin1986lin/article/details/21180007
引言
在项目开发中,我们经常可以看到如下所示的代码:
1 @property (nonatomic, copy) NSString *isbatchapprove;
2 @property (nonatomic, copy) NSString *currentResult;
3 @property (nonatomic, copy) NSString *strVersion;
4 @property (nonatomic, copy) NSString *operateType;
初看一下,没什么问题,但在做项目开发的过程中,实际上是比较麻烦的,因为如下所示的相同内容,我们需要书写多次,无形中给我们的开发增加了工作量。那么有什么办法可以避免这样重复的工作量吗?这就是这里要说的Code Snippets Library。
@property (nonatomic, copy) NSString
什么是Code Snippets
其实,在项目开发的过程中,我们已经多次享受了Code Snippets 给我们带来的便利,比如下图所示:
当我们输入sw的时候,就会自动的出现后面的这么多内容,按一下回车键,这些内容就自动编写好了。这就是Code Snippets ,目的是使程序员以最快的速度输入常用的代码片段,提高编程效率。该功能从Xcode4开始引入,我们可以在如下地方设置显示Code Snippets:
设置显示后,我们可以在如下地方看到Code Snippet,里面有很多Xcode自带的代码片段,上例中的switch就是其中的一个。双击具体的一个Code Snippet,可以看到该Code Snippet的详情,单击Edit按钮,可以看到更多内容(新建Code Snippet的时候再介绍)
如何新建Code Snippets
通过上面的介绍,对于Code Snippets的好处,大家应该很清楚了。清楚用处之后,大家会有一个问题:XCode中可以自己新建Code Snippets吗?答案是肯定的,下面我们通过引言中的property的创建,来一步步介绍Code Snippets创建的流程。
第一步:书写Code Snippets。在声明@property属性的地方写下如下语句:
@property (nonatomic, copy) NSString *<#name#>;
上面<#name#>的作用,在后面的使用效果中可以知道。
- 1.Title:Code Snippets的标题;
- 2.Summary:Code Snippets的描述文字;
- 3.Platform:可以使用Code Snippets的平台,有IOS/OS X/All三个选项
- 4.Language:可以在哪些语言中使用该Code Snippets
- 5.Completion Shortcut:Code Snippets的快捷方式,比如本文第二部分编写switch代码段用到的sw,在这里,把属性设置的快捷方式设为pc
- 6.Completion Scopes:可以在哪些文件中使用当前Code Snippets,比如全部位置,头文件中等,当然可以添加多个支持的位置。
- 7.最后的一个大得空白区域是对Code Snippets的效果预览。
Code Snippets的备份
~/Library/Developer/Xcode/UserData/CodeSnippets
项目开发中常用的Code Snippets
下面是我在项目中经常使用到的一些snippet,仅供参考。
1.Notification Add:添加通知。
2.Notification Remove:移除通知。
3.Notification Post:发布通知。
4.Property Copy:NSString类型的属性。
5.Property Retain:retain属性。
6........
Xcode开发技巧之Code Snippets Library的更多相关文章
- Xcode开发技巧之code snippets(代码片段)
一.什么是代码片段 当在Xcode中输入dowhile并回车后,Xcode会出现下图所示的提示代码: 这就是代码片段,目的是使程序员以最快的速度输入常用的代码片段,提高编程效率.该功能是从Xcode4 ...
- Xcode开发中 Code Snippets Library 的相关用法
当在进行项目的时候,总会遇到很多相同的写法.因此,我们可以使用Code Snippets Library 来进行代码小片段的“封装”: 以Xcode中常用的属性为例: 使用步骤如下: 1.在Xcode ...
- Mac/Xcode - 开发技巧快捷键
Xcode是iPhone和iPad开发者用来编码或者开发iOS app的IDE.Xcode有很多小巧但很有用的功能,很多时候我们可能没有注意到它们,也或者我们没有在合适的水平使用这些功能简化我们的iO ...
- Xcode开发技巧
1.Xcode 中的 Code Snippets 默认放在下面的目录中: ~/Library/Developer/Xcode/UserData/CodeSnippets 2.自定义的代码背景颜色和代码 ...
- xcode自动完成代码 Code Snippet Library
今天发现Xcode里一个好东西:代码片段库 你可以将自己常用的代码放到里面,给它命名,设置快捷键,以后想用这段代码的时候只要按快捷键,就会出现提示,直接将这段代码显示出来,十分高效. 比如我经常会用到 ...
- xcode开发的6个小技巧
Xcode是iPhone和iPad开发者用来编码或者开发iOS app的IDE.Xcode有很多小巧但很有用的功能,很多时候我们可能没有注意到它们,也或者我们没有在合适的水平使用这些功能简化我们的iO ...
- (转)可简化iOS 应用程序开发的6个Xcode小技巧
Xcode是iPhone和iPad开发者用来编码或者开发iOS app的IDE.Xcode有很多小巧但很有用的功能,很多时候我们可能没有注意到它们,也或者我们没有在合适的水平使用这些功能简化我们的iO ...
- Xcode开发中的6个小技巧
Xcode是iPhone和iPad开发者用来编码或者开发iOS app的IDE.Xcode有很多小巧但很有用的功能,很多时候我们可能没有注意到它们,也或者我们没有在合适的水平使用这些功能简化我们的iO ...
- 可视化iOS应用程序开发的6个Xcode小技巧
FIXME 该标签用来提醒你代码中存在稍后某个时间需要修改的部分.(编辑注:网络上有一些可以用来收集项目中`TODO`和`FIXME`标签的辅助插件,比如XToDo https://github.co ...
随机推荐
- CDN技术
CDN 是构建在数据网络上的一种分布式的内容分发网. CDN 的作用是采用流媒体服务器集群技术,克服单机系统输出带宽及并发能力不足的缺点,可极大提升系统支持的并发流数目,减少或避免单点失效带来的不良影 ...
- c#之Redis队列
摘要 这两天一直在考虑redis队列:一个生产者,多个消费者的情况,这里弄了一个demo进行测试. 一个例子 关于如何引用Redisclient 可以参考之前的这篇文章:c#之Redis实践list, ...
- CFgym Board Queries (旋转、翻转简化)
http://codeforces.com/gym/100497 codeforces 2014-2015 CT S02E04: Codeforces Trainings Season 2 Episo ...
- C语言动态内存分配
考虑下面三段代码: 片段1 void GetMemory(char *p) { p = (); } void Test(void) { char *str = NULL; GetMemory(str) ...
- POJ 1061 青蛙的约会
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 82859 A ...
- OC第三节——NSArray和NSMutableArray
1.OC数组和c数组的区别 C语言的数组: 相同类型变量的有序结合. 类型:可以是简答数据类型.构造数据类型 int a[10 ...
- python 多线程就这么简单(转)
多线程和多进程是什么自行google补脑 对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂.所以,这里力图用简单的例子,让你对多线程有个初步的认识. 单线程 在好些年前的 ...
- webrtc公开课
http://blog.csdn.net/yangzhenping/article/details/51152376 http://edu.csdn.net/huiyiCourse/live
- php中向mysql插入数据
$sql='insert into news(title,subtitle,source,publishtime,content,image,author) values("'.unico ...
- C/C++开发者必不可少的15款编译器+IDE
1)Best IDE for C/C++ – kDevelop(http://kdevelop.org/) Kdevelop是一个专为C/C++及其他语言的开源扩展插件IDE.它基于KDevPlat ...