http://www.jianshu.com/p/221507eb8590

1.如何快速的查看一段代码的执行时间。

1
2
#define TICK   NSDate *startTime = [NSDate date]
#define TOCK   NSLog(@"Time: %f", -[startTime timeIntervalSinceNow])

在想要查看执行时间的代码的地方进行这么处理

1
2
3
TICK
//do your work here
TOCK

2.如何快速查看一个函数的调用次数,且不添加一句代码。 如下图

这种方法适合于一个if方法,一个for循环,而且不会中断程序,切不需要加一句代码。但是一定要记得选中下面的automatically continue after evaluting actions;

3.在使用view的缩放的时候,layer.border.width随着view的放大,会出现锯齿化的问题,解决这个问题需要设置这个属性。

1
self.layer.allowsEdgeAntialiasing = YES;

4.instrument中time profile中的self, #self,%self各代表什么 ?

下面引用了一下网上的具体内容

“Self is "The number of times the symbol calls itself." according to the Apple Docs on the Time Profiler.

From the way the numbers look though, it seems self is the summed duration of samples that had this symbol at the bottom of its stack trace. That would make:

self: the number of samples where this symbol was at the bottom of the stack trace

% self: the percent of self samples relative to total samples of currently displayed call tree

(eg - #self / total samples).

So this wouldn't tell you how many times a method was called. But it would give you an idea how much time is spent in a method or lower in the call tree.”

5.如何快速添加一个全局异常断点,(一步顶三步)。和添加一个symbloic断点,(一步还是顶三步)添加一个断点不使用鼠标

看到图了吧,加这些断点完全不需要动一下鼠标(恕我吹牛B了),加单独断点的时候动了下鼠标,但那是我故意让你们看到我是有鼠标的。

  • 首先All Exception断点是我们很常用的,这个我是这样用一个快捷键做到的!通过改键command +p 为加异常断点的,要说怎么改,翻我以前博客去!

  • 然后加symbloic的快捷键为commnamd + option + \

  • 加一个单独一行断点的快捷键为command + \

6.在iOS开发中我们在和产品和设计沟通的时候我们经常需要截取手机的屏幕或者模拟器上的屏幕,我们用手机可能会使用 Home 键 + 开机键,然后再通过 iPhoto 或者在手机用 qq 传过去,但是我教大家一个方法直接使用快捷键截取手机上的图到电脑桌面上。

具体方法见下图 :

在 Xcode的 debug菜单中找到viewDebugging,即使当前程序没有运行,也可以直接截取手机上的图片直接到桌面。(哈哈哈这样再不需要TM的按TM的手机上的按键再用 iPhoto拷贝到桌面了)。年轻人你以为这样就完了吗!?你还是太稚嫩啊,谁TM的想找到这个debug菜单再找到下面的一堆东西,当然要改成快捷键了,如何做看下图。

看到这个血淋漓的红色的箭头了嘛,你首先找到 debug 的快捷键菜单项,在把它改成 ?+?这个,这时候有冲突了怎么办?你不知道有没有影响到其他快捷键怎么办,小傻瓜,改呗!把以前的这个功能去掉?+?(ps:以前的就是 show complete list 如同点击一个?一个效果,那你还要它做嘛啊?),为什么改成这个份听哥的,你改成这个绝壁会用着特别爽。(好了以后要给产品还是设计发图分分钟的事情了~~)

7.iOS调试技巧只显示图片的对齐尺寸和 frame。

我记得以前一个说显示对齐尺寸的,他是这么做的:

“在应项目的Edit Scheme中设置一个启动参数 UIViewShowAlignmentRects并将参数值设置为YES,可以让程序在运行时显示视图的对齐矩阵(alignment rectangle)。”

我当时看完就不屑一顾,这么复杂谁用啊。你们真的以为我再装b嘛,好吧,你们猜对了,我确实在装b,你们看下面的效果就知道我为什么在装b了。

可能我图片切换的比较快,效果你们没看的明显。你们可以自己试下,这个可以随时切换是否显示ShowAlignmentRect,或者每一个控件的尺寸包括系统的控件(譬如系统的 uibutton 它会显示内部的 imageview 的尺寸和 label 的尺寸然后用不同的颜色区别,xcode 颜色区分的还是相当美观的)

这尼玛可是大杀器了,有了这个你的控件的大小位置是否显示都根本不用我前面所说的 lldb 了,而且方便快捷,你问我是怎么做的,我可没配置辣么多的一对参数,我也懒得记,当然我是用快捷键了!细心的同学可能会注意到前面的 截图viewDebuging中有showViewFrame 和ShowAlignmentRects,当然点击这些菜单就会出现我这些效果了,我当然又是改快捷键了,我时间很宝贵的。

8.在我们开发中经常使用 git,然后我们修改了这个文件不知道哪里改错了,我们经常需要恢复这个文件,这样我们可能会切到终端,也可能会直接使用 xcode来去放弃文件的修改,幸好xcode对 source Control支持的比较好,所以我们可以通过修改这些方式的快捷键来快速恢复文件,下面是我的一些设置,用好了绝壁提高你的效率.

对于我来说常用的也就是放弃当前文件的修改和放弃所有文件的修改,和翻看git History如果当前文件修改的时候怎么都回退不到正确的,这几个东西可起大作用了!

9.在 iOS 中我们经常会碰到一些imagView的UIContentMode的显示方式,最初我怎么记也搞不太清楚,后来我看到了这幅图,我发现我遇到了指明灯了,一图解千惑,这里分享给大家。(ps:大家别说我菜啊)

iOS 开发的9个超有用小技巧的更多相关文章

  1. iOS开发的知名大牛博客小汇

    王巍的博客:王巍目前在日本横滨任职于LINE.工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发.他的陈列柜中已有多款应用,其中番茄工作法工具非常棒.http://onevcat ...

  2. 开发Android应用 提升性能的小技巧

    前 言 2015年,Android OS 目前在手机操作系统的市场占有率已达59%,权威机构预计,Android市场占有率在2016年将达到63%,由于Android的开放性,未来占有率还将不断增加, ...

  3. iOS开发实战-基于SpriteKit的FlappyBird小游戏

    写在前面 最近一直在忙自己的维P恩的事情 公司项目也是一团乱 于是...随手找了个游戏项目改了改就上线了,就当充数了. SpriteKit简介 SpriteKit是iOS 7之后苹果推出的2D游戏框架 ...

  4. ios开发网络学习三:NSURLConnection小文件大文件下载

    一:小文件下载 #import "ViewController.h" @interface ViewController ()<NSURLConnectionDataDele ...

  5. <<精通iOS开发>>第14章例子代码小缺陷的修复

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 首先推荐大家看这本书,整本书逻辑非常清晰,代码如何从无到有,到 ...

  6. 开发使用Node.js的一个小技巧

    Node.js作为可以在服务器端运行的一门语言,其处理长连接.多请求的优势受到各大编程爱好者的追捧. 但是在开发调试方面却极为不方便,因为每次改动代码后,都需要终止当前进程,重启服务器.supervi ...

  7. javascript有用小技巧—实现分栏显示

    记得给师哥师姐測试考试系统的时候,看到他们的考试页面能够实现隐藏左边的考生信息部分,当时认为好高大上.好人性化. 如今学了javascript,我也能实现这个功能了,以下来显摆一下. 1.页面设计: ...

  8. before伪类的超有用应用技巧——水平菜单竖线分隔符

    方法一.li前面加before伪类 <!doctype html> <html dir="ltr" lang="zh-CN"> < ...

  9. 前端开发快速定位bug的一些小技巧

    1,根据报错信息定位: (1) Uncaught TypeError: Cannot read property 'attr' of undefined; 此类型为变量或者对象属性未定义类型. (2) ...

随机推荐

  1. mysql备份恢复数据库据/表

    备份单个数据库,只备份表,如要恢复,必须先创建一个数据库[root@s]# mysqldump -u root -p dbname1 > dbname1.sql[root@s]# mysql - ...

  2. 1008. Image Encoding(bfs)

    1008 没营养的破题 #include <iostream> #include<cstdio> #include<cstring> #include<alg ...

  3. POJ3485 区间问题

    题目描述有些坑.. 题意: 有一条高速公路在x轴上,从(0,0)到(L,0).周围有一些村庄,希望能够在高速公路上开通几个出口,使得每个村庄到最近的出口距离小于D,求出最少需要开通多少个出口. 解题思 ...

  4. ACM - ICPC World Finals 2013 A Self-Assembly

    原题下载 : http://icpc.baylor.edu/download/worldfinals/problems/icpc2013.pdf 这道题其实是2013年我AC的第一道题,非常的开心,这 ...

  5. 【笨嘴拙舌WINDOWS】编码历史

    在介绍历史之前,有必要将一个经常使用的词语"标准"解释一下: " 标准是"为了在一定的范围内获得最佳秩序,经协商一致制定并由公认机构批准,共同使用的和重复使用的 ...

  6. UVa 1153 Keep the Customer Satisfied 【贪心 优先队列】

    题意:给出n个工作,已知每个工作需要的时间last,以及截止时间end,(必须在截止时间之前完成)问最多能够完成多少个工作 首先预处理,将这n件任务按照截止时间从小到大排序 然后用一个cur记录当前做 ...

  7. 【C#学习笔记】检测进程是否存在并关闭

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. mysql的MMM高可用方案

    1    MMM高可用mysql方案 1.1  方案简介 MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器)关于mysql主主复 ...

  9. 强制将IE8设置为IE7兼容模式来解析网页

    强制将IE8设置为IE7兼容模式来解析网页 英文原文:http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx 文件兼容性用于定义让IE ...

  10. java.lang.Throwable 异常/深入

    有几个现象是需要总结的: -------------------------------------- 在java语言中,错误类的基类是java.lang.Error,异常类的基类是java.lang ...