iOS开发——实用篇&提高iOS开发效率的方法和工具
提高iOS开发效率的方法和工具
这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具。
IDE
首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时在使用AppCode等其他的IDE,在这里我主要介绍Xcode中提升开发效率的方法。
1.善用快捷键
快捷键是开发中必不可少的,当你善于使用快捷键的时候,十指在键盘上飞舞,那画面太美,我不敢想象。
2.常用代码片段
开发中有一些常用的代码,可以放到代码片段中,然后下次你就可以使用快捷方法来使用这些代码了,给大家看下我的Xcode中部分代码片段:
3.Xcode插件
我想插件是Xcode必不可少的把
除此之外,我自己还经常用到的插件有:
在此强烈推荐给大家。
你可能想,如果没有我要用的插件怎么办?少年,这个时候就要自己动手丰衣足食了,我想你可以看看这个Xcode6插件开发入门。
4.注释
注释的作用就不多说了,而且现在公司都要求代码必须有注释。
之前一直在用 喵神onevcat 开源的 VVDocumenter-Xcode.
但是后来觉得这种注释会有这样一个问题:一个注释多三行
/** * 顶部公告btn */ @property (nonatomic, strong) UIButton *topAnnouncementBtn;
接口用这种方法会简单明了,但是属性的话,总感觉.h文件好多东西(其实没几个属性啊??????)
后来换成这样:
/**顶部公告btn */ @property (nonatomic, strong) UIButton *topAnnouncementBtn;
还是多一行,再后来换成这样:
@property (nonatomic, strong) UIButton *topAnnouncementBtn; // 顶部公告btn
但是这种方式,在你使用这个属性的时候,是不会有注释提示的。没有就没有把,遇见不明大意的属性,到时候再跳到.h 文件 看一眼。(“呸,你怎么这么容易就妥协了!!!”,我当时应该在心里暗暗骂自己的)
之后某天在微博上看到 芳仔小脚印 的博客 我是如何收拾代码的 中介绍她是这样注释属性的:
UIButton *btnSend;/**< 发送按钮 */
试用了一下,很方便。之后一直用这种方法做属性注释,在这里分享给大家。
感谢 芳仔小脚印 的分享。
网络数据相关
1.调试接口
少年,你还在写方法调试接口吗?如果是,那你一定需要下面这2个了哈:
DHC 在线调试接口,支持HTTP和HTTPS呦。
Postman 一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。(感谢叶孤城___提醒)
2.JSON数据编辑
废话不多说,直接上图:
UI相关
1.距离
不行!说的是20px!差1px,2px,5px,10px,都不算20px!
遇到有像素眼的设计师,想哭的心情总是有。但是他们可能有时候会忘记标X、Y,或者就是宽高,下面是我司UI给的一张图:
魂淡,说好的X,Y呢?
然后我最开始是这样做的
可是总会有辣么一点误差,而且费眼。。。后来我偶然听一个产品朋友说他们在用马克鳗标图,它有免费和收费2个版本,免费版本可以使用基本功能,感觉还不错。
今天喵神onevcat在微博发了一个测量的工具:Pixel Winch ,试了一下,比马克鳗好使。
2.图片压缩
我们UI就不太注重图片的大小,尼玛,有一次给的图片有4M多,害我自己还得压缩一遍
tinypng,保质压缩,我感觉还不错,推荐给我们UI和后台,他们用过之后都说好
tinypng批量压缩图片脚本 配套使用更佳。(感谢newbee_nAn 提供)
3.AppIcon
AppIcon只需要UI提供一张1024*1024的图就可以了,具体的icon可以用Prepo生成
两地办公
假设这么一种情况:公司用的是SVN,公司一台公司电脑,家里一台自己电脑,有时候可能想回来后接着敲代码,怎么办?
再假设这么一种情况:公司用的是SVN,产品想实现一种效果,但是你又不确定能不能写出来,所以你可能会纠结要不要在公司项目上改动,怎么办?
如果有上述两种烦恼,那么Github 和 Bitbucket 是您的首选,具体选哪个,这里有一篇对比文章:GitHub vs. Bitbucket 不只是功能不同.
Github
Github上好的开源项目太多,一个一个的star,太慢了,怎么破?
language:Objective-C stars:>900
这个其实就是Github的Advanced search功能:
小伙伴们切记啊,star后并不代表你就掌握了,只有真正深入了解后才是自己的。
iOS开发——实用篇&提高iOS开发效率的方法和工具的更多相关文章
- <转>提高iOS开发效率的方法和工具
介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时在使用AppCode等其他的ID ...
- 提高iOS开发效率的方法和工具
http://www.cocoachina.com/ios/20150717/12626.html 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先 ...
- iOS-提高iOS开发效率的方法和工具
提高iOS开发效率的方法和工具 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时 ...
- 提高python执行效率的方法
python上手很容易,但是在使用过程中,怎么才能使效率变高呢? 下面说一下提高python执行效率的方法,这里只是说一点,python在引入模块过程中提高效率的方法. 例如: 1.我们要使用os模块 ...
- iOS开发——实用篇Swift篇&项目开发常用实用技术
项目开发常用实用技术 实现拨打电话 要实现打电话功能,最简单最直接的方式便是:直接跳到拨号界面 (注意:这个需要真机调试,模拟器无效果) UIApplication.sharedApplica ...
- iOS开发——实用篇&KVO与KVC详解
KVO与KVC详解 由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby.Python的动态特性,例如动态类型.动态加载.动态绑定等.今天我们着重介绍ObjC中的键值编码(KVC ...
- iOS开发——实用篇Swift篇&QQ登入界面实现
QQ登入界面实现 我们知道在App Store中几乎所有软件都设计到账户的登入,而我们最常见的就是QQ,微信,在没有踏入程序员这条不归路之前,看到一个个的界面都感觉好高大上的样子. 在学习的过程中,自 ...
- iOS开发——实用篇Swift篇&状态栏操作
状态栏操作 在Swift开发过程中,针对状态栏操作的过程有很多. 1.在ViewController中操作当前ViewController的状态栏 /** 隐藏状态栏 */ override func ...
- iOS开发——实用篇Swift篇&保存图片到相册
保存图片到相册 最近在深入的学习关于swift相关技术,虽然海做不出什么好的东西,但是感觉收获不少,相信总有一样能用到,所以就总结了一下,希望大家喜欢! 1.OC中的写法 在OC中,我们需要保存图片到 ...
随机推荐
- POJ 2549 Sumsets
Sumsets Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10593 Accepted: 2890 Descript ...
- A Spy in the Metro
题意: n个车站,已知到达相邻车站的时间,有m1辆车从1站出发已知发车时间,有m2辆车从n站出发已知发车时间,求从1到达n所需等车的总时间最小. 分析: 有三种情况,在原地等,乘左到右的车,乘右到左的 ...
- windows各种程序中文显示乱码又找不到原因时
我电脑上的各种程序,如xshell,Navicat for MySQL都不正常显示中文,该软件的编码,utf-8,gbk,gb2312来回切换好几回,没一次正常,最好解决办法如下 进入控制 ...
- Apache benchmark对网站进行压力测试
Apache Benchmark下载:http://down.tech.sina.com.cn/page/3132.html ab 的全称是 ApacheBench , 是 Apache 附带的一个小 ...
- 使用Qmake在树莓派上开发Opencv程序
Qt 安装 PC 端 下载安装即可 https://mirrors.ustc.edu.cn/qtproject/official_releases/qt 树莓派:Qt开发套件和opencv安装sud ...
- ASP.NET开发在JavaScript有中文汉字时出现乱码时简单有效的解决
一般情况在使用ASP.NET开发使用JavaScript有中文汉字时不会出现乱码情况,比如:alert('您看到我了吗?');这样直接输入中文汉字的代码中是不会出现乱码的,如果出现了,一是检查Web. ...
- Tkinter教程之Menu篇
本文转载自:http://blog.csdn.net/jcodeer/article/details/1811321 '''Tkinter教程之Menu篇''''''1.创建一个简单的Menu'''# ...
- Modules-nodejs
Modules Node有一个简易的模块加载系统.在node中,文件和模块是一一对应的.下面示例是foo.js加载同一目录下的circle.js. foo.js的内容: var circle = re ...
- 第二百九十六天 how can I 坚持
今天果真好冷,至今遇到的最冷的一天,出去一趟,脸都快要冻瘫了. 感觉自己事真的多,找个对象还这事那事的,活该单身. 好愁人啊. 今天,魏中贺来北京,本来说的要明天聚聚,可是,都不给力啊,都不知道在忙啥 ...
- stm32f407 定时器 用的APB1 APB2 及 定时器频率
上午想要用Timer10做相对精确的延时功能,但是用示波器发现实际延时数值总是只有一半,百思不得其解.仔细查阅各处资料结合实际研究后对stm32f407的14个定时器的时钟做一个总结: 下面来源: h ...