iOS-Xcode使用技巧
一、快捷键的使用
经常用到的快捷键如下:
新建
shift + cmd + n 新建项目
cmd + n 新建文件
视图
option + cmd + 回车 打开助理编辑器
cmd + 回车 显示主窗口
cmd + 0 导航窗口
option + cmd + 0 工具窗口
在.m & .h之间切换 control + cmd + 上/下
按照浏览文件的前后顺序切换 control + cmd + 左右
查看头文件 control + cmd + j
切换到对应的函数control + 6 支持智能输入,注意输入法
运行
cmd + r 运行
cmd + . 停止
cmd + b 编译
cmd + shift + b 静态内存分析编译,可以检查程序结构上是否存在内存泄露
排版
control + i 将选中按钮重新缩进
cmd + ] 向右增加缩进
cmd + [ 向左减少缩进
cmd + / 注释/取消注释,提示:取消注释时,注释双斜线必须在行首
cmd + 向上 到文件开始位置
cmd + 向下 到文件末尾位置
二、OC专有注释
注释形式和效果
(1)#pragma mark 注释
(2)#pragma mark- 注释
三、warning的使用(注意)
使用形式:
#warning 代码还没有写完
可以帮助我们对代码进行快速的定位
四、代码块的使用
对于经常使用的代码块,可以以代码块的方式保存起来,设置提示词,以便快速的编码。
对代码块进行适当的编辑
使用<#name#>和<#type#>让保存的代码块不被“写死”;
设置后的提示效果:
五、打印内容查看(重写description方法的技巧)
代码示例:
- - (NSString *)description
- {
- // 包含对象类型名称,以及对象的指针地址
- return [NSString stringWithFormat:@"<%@: %p> {answer: %@, title: %@, icon: %@, options: %@}", [self class], self, self.answer, self.title, self.icon, self.options];
- }
提示:
如果要在开发时,跟踪对象的明细信息,可以重写description方法,类似于java的toString()
为根类添加一个扩展

- 1 #import "NSArray+Log.h"
- 2
- 3 @implementation NSArray (Log)
- 4
- 5 - (NSString *)descriptionWithLocale:(id)locale
- 6 {
- 7 // 遍历数组中的所有内容,将内容拼接成一个新的字符串返回
- 8 NSMutableString *strM = [NSMutableString string];
- 9
- 10 [strM appendString:@"(\n"];
- 11
- 12 // 遍历数组,self就是当前的数组
- 13 for (id obj in self) {
- 14 // 在拼接字符串时,会调用obj的description方法
- 15 [strM appendFormat:@"\t%@,\n", obj];
- 16 }
- 17 [strM appendString:@")"];
- 18 return strM;
- 19 }
- 20
- 21 @end

iOS-Xcode使用技巧的更多相关文章
- iOS Xcode 小技巧,提升理解查询能力,Command + 点击鼠标右键 Jump to Definition等
前言: 介绍下Xcode 小技巧,以及一下快捷键,让你调试程序更加出类拔萃,安排! Command + 点击鼠标右键 Jump to Definition,可能你平时也在用,但是你明白全部的用法吗,试 ...
- iOS Xcode 调试技巧
一 NSLog调试 官方文档:Logs an error message to the Apple System Log facility. 即NSLog不是作为普通的debug log的,而是err ...
- iOS Xcode 调试技巧 全局断点这样加才有意思
http://blog.sina.com.cn/s/blog_876a2c9901016ezh.html
- iOS 页面流畅技巧(1)
一.屏幕显示图像原理 首先明确两个概念:水平同步信号.垂直同步信号. CRT 的电子枪按照上图中的方式,从上到下一行一行的扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次的扫描. ...
- iOS:小技巧(不断更新)
记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...
- (转)Xcode调试技巧
转自http://www.apkbus.com/android-140340-1-1.html 这篇文章给大家带来的是一些Xcode实用技巧,比如: • 摆脱NSlog打印输出,使用断点日志. • 摆 ...
- iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式
iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式 说明: 1)该文简短介绍在iOS开发中遍历字典.数组和集合的几种常见方式. 2)该文对应的代码可以在下面的地址获得:https:// ...
- iOS开发实用技巧—在手机浏览器头部弹出app应用下载提示
iOS开发实用技巧—在手机浏览器头部弹出app应用下载提示 本文介绍其简单使用: 第一步:在本地建立一个访问的服务端. 打开本地终端,在本地新建一个文件夹,在该文件夹中存放测试的html页面. ...
- iOS开发实用技巧—项目新特性页面的处理
iOS开发实用技巧篇—项目新特性页面的处理 说明:本文主要说明在项目开发中会涉及到的最最简单的新特性界面(实用UIScrollView展示多张图片的轮播)的处理. 代码示例: 新建一个专门的处理新特性 ...
- [转]phonegap 2.9 IOS Xcode 搭建环境
phonegap 2.9 IOS Xcode 搭建环境 一:下载phoneGap2.9和安装Xcode5(目前最新版) 选择2.9是因为3.0以上坑爹版本编译神马的要在有网络情况. 二: 下载ph ...
随机推荐
- continue语句在for语句和while语句中的区别
while语句的形式: while( expression ) statement for语句的形式: for( expression1; expression2;expression3 ) // ...
- RStudio技巧02_Extract Function
RStudio 可以在 source 编辑器中分析一组选择的代码,并自动将其转化成再次使用的函数.任何选择中的"free"变量( 选择引用对象但不创建)将转化为函数参数. (也可使 ...
- 4.3 多线程进阶篇<中>(GCD)
更正:队列名称的作用的图中,箭头标注的有些问题,已修正 本文并非最终版本,如有更新或更正会第一时间置顶,联系方式详见文末 如果觉得本文内容过长,请前往本人 “简书” 本文源码 Demo 详见 Gith ...
- 头显HTC Vive北美直降100美元,中国区降价活动今日公布
如果你现在想要购买一台VR头显,591ARVR资讯网www.591arvr.com的小编提醒大家可以等一等,在即将到来的年末促销中各种VR设备都将迎来大力度降价.目前北美市场的HTC Vive已经直降 ...
- android studio安卓项目出现Error: Default Activity Not Found错误无法编译的解决方案
项目明明是没有问题的,有时候突然就出现Error: Default Activity Not Found错误,以前出现过我重新安装了android studio 都没有用,后来在网上(http://s ...
- 【Postgresql】数据库函数
1.Postgresql查询前几条记录的SQL语句 select * from table where ...... LIMIT N ; 2.SQL limit integer offset int ...
- 搭建OpenStack,kvm环境准备
一.KVM简介 KVM全称是kernel-based virtual machine(基于内核的虚拟机),是一个开源的系统虚拟化模块,基于硬件的完全虚拟化,不过需要硬件支持(如Intel VT技术或者 ...
- 关于兼容IE的一些策略
--css 盒子模型下的 box-sizing 属性,只兼容到ie8: -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o- ...
- System.Web.HttpContext.Current.Session为NULL解决方法
http://www.cnblogs.com/tianguook/archive/2010/09/27/1836988.html 自定义 HTTP 处理程序,从IHttpHandler继承,在写Sys ...
- 关于[super dealloc]
销毁一个对象时,需要重写系统的dealloc方法来释放当前类所拥有的对象,在dealloc方法中需要先释放当前类中所有的对象,然后再调用[super dealloc]释放父类中所拥有的对象.如先调用[ ...