做一个高效的IOS开发工程师
最近觉得自己的开发效率太慢了,总结了一下:熟练度不够是一方面,经常用到东西查看一下,积累问题?一方面,这个无法分享的。现在主要分享的是:如何高效的用好自己的时间。
1.善用xcode。
xcode实在是一个开发的神兵利器,自动补全,各种方便的编辑快捷键,查找定义,等各种方便的插件集合,这里再介绍一些开发的细节:
a.源码的注释,方法一:可以下载一些代码生成模板直接快速生成。方法二:直接观察下面图片。
对比图片:
个人经常用三个斜杆的方法。
b.断点,断点也有技巧的。调试bug的神兵利器,可以添加一个全局的断点,当程序奔溃的时候,会在奔溃前自动创建一个断点。Add Exception Breakpoint,点击下图的+号,选项,添加断点。找bug不再设置N多个没用的断点了。
当然,一些调试命令要记得的, n, c, po 等,调试快捷键非常好用,而不是2b的NSlog
c:查看View的工具,可以看到运行的视图结构,更好的了解别人的代码,如下图:
选中红色圈圈的地方就能看到你想要的效果了,而且是运行时的,和reveal工具一样的功能,人家xcode一直都自带的。
这里只是简单的分享了几点xcode好用的地方,还有各种测试工具框架,调试工具profile,这个简直就是IOS开发人员的优势。不利用好简直就是暴殄天物,太浪费了。
2.学会快速的查找阅读资料
a.源码:code4?cocoachina?github?这些是不够的。姑且不说国外的网站,(肯定比国内的好太多了)在国内,特别是不能FQ的同学。查找源码的时候就能这样了:
pod search “xxxx” // pod 自己下载去吧
例如我想要下载下拉刷新的源码,EGOTableViewPullRefresh? 难道大家只知道这个?如下图:
好了,快点提高自己的阅读源码速度吧。
源码是一方面,还有一些大牛的博客,各种各样的知识,RSS聚合阅读工具等。
好了,今天就分享这些东西,下次再分享一篇。
做一个高效的IOS开发工程师的更多相关文章
- 写给IOS开发工程师的网页前端入门笔记
前言:作为IOS开发工程师,终会接触到网页前端开发,甚至可能会有 用HTML5开发IOS的app客户端的需求.比如现在上架的app就有比如理财类型的app有的就用HTML开发的,从理财类型的app需求 ...
- 来自IOS开发工程师的零基础自学HTML5经验分享
移动互联网的火爆,而Html具有跨平台.开发快的优势,越来越受到开发者的青睐.感谢IOS开发工程师“小木___Boy”’带来的HTML5学习经验分享. 一.学习途径 1.很多视频网站 比如慕课.和极客 ...
- 如何成为一名优秀的 iOS 开发工程师
如果你是一位专业的iOS开发工程师,你应该为自己感到自豪.因为你能在强大的iOS系统下,一展身手实现自己和他人的想法,这是一件令人无比激动的事情. 作为一名iOS开发工程师,你一定想成为行业的佼佼者. ...
- iOS开发工程师笔试题
iOS开发工程师笔试题 1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? Object-c的类不可以多重继承:可以 ...
- 成为一个高效的web开发人员,只需要三步
想成为一名专业的web开发人员并不像你想象的那么容易,开发人员在开发自己的web项目时常常需要牢记很多东西,他们要不断寻找新理念,新创意,在特定时间内开发出高质量的产品,一名优秀的程序员必须明白时间的 ...
- iOS 开发工程师
iOS 开发工程师 工作职责: 负责下厨房 iPhone 客户端的产品开发.维护.优化以及扩展. 任职要求: 对技术有热情,热爱新的挑战 熟悉 CocoaTouch, ASIHttpRequest, ...
- 记录我的点点滴滴从此刻做起——iOS开发工程师
作为一个iOS工程师,想写博客也是有原因的:首先有这个想法(写博客的想法)也是因为想到自己都从事iOS开发快两年了,怎么也只会堆代码,写view,技术真的很一般,感觉都要被淘汰了:基于以上原因,自己也 ...
- 高级iOS开发工程师的面试题
1:CALayer与UIView的区别是什么? 两者最大的区别就是:涂层不会直接渲染到屏幕上: UIView是iOS界面元素的基础,所有界面元素都是继承于它,他的本身全是由CoreAnimation来 ...
- iOS开发工程师面试题(一)
SDWEBImge原理 一,先上标答 1)UIImageView+WebCache: setImageWithURL:placeholderImage:options: 先显示 placeholde ...
随机推荐
- Android重要控件———ListView
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...
- android广播接收器BroadcastReceiver
首先看一下什么是 BroadcastReceiver BroadcastReceiver:直译是"广播接收者",所以它的作用是用来接收发送过来的广播的. 那我们有必要知道:什么是广 ...
- Nodejs连接mysql
1.首先需要安装nodejs 的mysql包 npm install mysql 2.编写nodejs与mysql交互的代码 var mysql = require('mysql'); var TES ...
- iOS 自定义emoji表情键盘
之前走了很多弯路,包括自己定以emoji表情,自己创建view类去处理图文混排 ,当把这些焦头烂额的东西处理完了才发现 ,其实系统自带键盘是如此的方便,iOS 系统自带的表情在view,textfie ...
- 北京网赛I题 hiho1391 (树状数组、区间覆盖最大值问题)
题目链接:http://hihocoder.com/problemset/problem/1391 题意:A国和B国向对方分别投射N枚和M枚导弹(发射时间,飞行时间,伤害值),同时两国各自都有防御系统 ...
- java学习第十一天
第十二次课 目标 一维数组(创建访问) 一.概念与特点 1.概念 相同数据类型的有序集合[] 数组名: 容器的名字 元素: 下标变量,数组名[下标] 长度: length 下标: 位置.索引 ...
- oracle数据库解析json格式
随着非关系型数据大规模使用,以json格式产生的数据也出现在我所管理的Oracle数据库的CLOB字段里面,使用过程中就需要解析出指定键的值. 使用了最新版本 如果Oracle版本为12.1.0.2的 ...
- springMVC 拦截器简单配置
在spring 3.0甚础上,起来越多的用到了注解,从前的拦截器在配置文件中需要这样配置 <beans...> ... <bean id="measurementInter ...
- 使用STL离散化
把原来的数组a复制一份拷贝b 用sort先把数组a排序 用unique消除a里面重复的元素 对于b中的每一个元素,用lower_bound找到它在a中的位置,也就是离散化之后的编号. 没了. #inc ...
- LeetCode【217. Contains Duplicate】
Given an array of integers, find if the array contains any duplicates. Your function should return t ...