iOS 开发的9个超有用小技巧

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:大家别说我菜啊)

时间: 2024-10-30 09:52:25

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

ios开发日记 -16 Xcode6快捷键、小技巧与xib圆角设置

以下都是使用Xcode6的一些记录,比较杂,不定期持续更新…… 快捷键: 1.StoryBoard技巧 当你想直接在view中选择自己想要的元素时,但是又碍于一个view上叠加的元素太多很难直接选中,那么在这时,你同时按住键盘上的shift和 control键,然后在你想选择的元素上点击鼠标,会弹出一个窗口,上面罗列了鼠标点击的位置下所有存在的元素,然后你再去进行选择会变的异常的简单. 2.快速在文件树视力中切换到当前文件 在Xcode中经常会遇到跳转比较多的情形,有时候若跳转到某个m文件,然后

Linux mkdir、tar 和 kill 命令的 4 个有用小技巧

软件 ◆ 分享 论坛 投稿 热门标签: 安全 活动 docker 图书 黑客 Nginx 面试 DNS 搜索 搜索 Linux.中国 - 开源社区?技术 ◆ 学习?查看内容 Linux mkdir.tar 和 kill 命令的 4 个有用小技巧 2015-7-22 11:20| 查看: 3005| 评论: 8| 收藏: 8| 分享: 0 原文:http://www.tecmint.com/mkdir-tar-and-kill-commands-in-linux/作者: Avishek Kumar

近期开发项目中用到的编码小技巧汇总说明(二)

之前有总结发表过<近期开发项目中用到的编码小技巧汇总说明>,虽没有涉及什么高大上的东西,但都是一些很实用的平时大家可能用到的知识,今天继续分享一些小技巧,欢迎大家了解,不足之处,可以直接评论留言谢谢! 接上篇序号 6.解决当同一个类在不同的项目中(命名空间不同,但类的定义完全相同的情况)使用BinaryFormatter进行序列化后再反序列化时出现找不到程序集的问题或反序列化的结果为null 原代码:(DataSetSurrogate分别在API项目中,客户端项目中都存在,类定义一样但由于不在

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

王巍的博客:王巍目前在日本横滨任职于LINE.工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发.他的陈列柜中已有多款应用,其中番茄工作法工具非常棒.http://onevcat.com池建强的博客: 池建强,70后程序员,Blogger.98年毕业,先后就职于洪恩软件.RocketSofeware和用友软件工程公司(后更名为瑞友科技),现任瑞友科技IT应用研究院副院长.该博客最初每天发送一条Mac技巧,不过目前已经形成了一种技术和人文结合的风格,时而随笔,时而技术.htt

iOS 开发中弄不清楚的小细节之数组 ——array == nil 和 [array count] == 0区别

很多时候我们开发者往往对一些比较难的技术点相对要熟悉一些,而对一些细节或者说感觉比较简单的问题总是弄不清楚,而数组的判断首当其冲. 我们在做开发的时候,需要数据,可是很多时候从服务器下发的数据都是JSon格式,当中会有数组的存在,那么开发中会出现一部分的数组中没有元素,这个时候,我们会习惯的用是不是为空来判断.例如: 但是我们会发现,不起作用,如过为空的时候会报这样的错误: 如果我们改动一下就会ok了.怎么改呢,就是在判断的时候改成arr.count!=0,这句话的意思就是说数组中的元素个数部位

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

一:小文件下载 #import "ViewController.h" @interface ViewController ()<NSURLConnectionDataDelegate> /** 注释 */ @property (nonatomic, strong) NSMutableData *fileData; @property (nonatomic, assign) NSInteger totalSize; @property (weak, nonatomic) IB

关于iOS开发CLLocation中定位的一些小问题

困扰了我一周的CLLocation定位问题终于解决了,网上的很多关于CLLocation的文章都是iOS 7 的,按照上面的指导,仍然不能够调出定位功能,对于iOS 8 是需要作额外的添加的,废话不多说 1.首先,需要再 infoplist文件中 添加两个键: 1 2     NSLocationWhenInUseUsageDescription  :当app在前台的时候,才可以获取到定位信息     NSLocationAlwaysUsageDescription     :app在前台.后台

iOS开发类似微信上传头像小操作Demo

效果图: 代码: 图片选择器前面的tablvew里的东西 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // 图片选择器 UIImagePickerController *imgPC = [[UIImagePickerController alloc] init]; //设置代理 imgPC.delegate = self; //允许编辑图片 imgPC.

&lt;&lt;精通iOS开发&gt;&gt;第14章例子代码小缺陷的修复

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 首先推荐大家看这本书,整本书逻辑非常清晰,代码如何从无到有,到丰满说的很有条理. 说实话本书到目前为止错误还是极少的,不过人无完人,在第14章前半部分项目的代码中,作者在MasterVC到DetailVC中又直接添加了一个segue,该segue的ID为"masterToDetail",作用是当新建一个tinyPix文档时可以直接跳转到DetailV