xcode 使用通用总结
一、搜索东西
有时候类很多,方法很多,想改某类时,还要打开各自文件夹去点进去,感觉很麻烦费时间。
如下图:用此搜索可以搜到此类,从而进行修改。
有时候想在类中找某个方法或者属性,自已一点一点找很费劲,请看下图:
此搜索是在类中按command+F,搜索某个属性和方法时比较方便。
跳到某个方法,也可以利用:(点击如下图画红线的地方)也是比较方法,比你自己一点一点找要快!
以上搜索是方便开发的时候!接下来是targets和project中的搜索:
题外话,有一同事,问我在哪里加-fno-objc-arc或者-f-objc-arc有哪里添加;(有关此知识请参考:
http://blog.csdn.net/rhljiayou/article/details/8103939,此博客有讲解)。
我告诉了他在targets下的Buid Phases下的Compile Sources。结果就是要添加的文件在时面顺序都打乱了,然后他就不知道怎么办了,因为文件好多,总不能一个一个靠眼睛去找吧,然后我就告诉他可以利用搜索如下图(这样不就方便了许多吗?):
看来搜索在我们开发中挺重要的,所以我希望大家善于利用搜索来解决问题。同样说一个xcode以外的搜索:
Control+F(打开Spotlight):Spotilight会帮助您 在电脑上快速查找东西。Spotlight位于屏幕的右上角。此工具非常之强大!
二、常用快捷方式
command+R运行
command+B编译
command+shift+k clean清除项目
command+i找开检测工具Profile
编辑代码时用到的快捷键(Control+):
Control +F向右边移动
Control +B向左边移动
Control +P移动到前一行
Control +N移动到下一行
Control + A移动到首行
Control +E移动到行尾
Control +D删除光标右边的字符
Control +K删除光标所在行中的右边的代码
Control +L将插入点置于窗口正中
用Xcode会有很多操作方式来打开某样东西,下面介绍三种方法不同方式打开,
以打开测试泄漏工具为例子,介绍三种方法:
1、直接打开菜单
2、command+i(快捷键)(最快的方式)
3、长按运行键,会弹出下拉菜单,选择第三个就可以打开了
所以不同的方式都可以打开相同的东西,找到自己最愉快的方式使用。
三、介绍几个其他方便开发的工具
善用工具,可以大大提高效率
很好用的两个工具
左边:只需要1024的图,可以生成任意的icon。包括iphone pad,所有需要的尺寸。用法,大家下载来,琢磨一下估计就会了。
右面:强大的批量文件改名,支持通配符。很方便的工具,比如要批量追加@2x,此工具一下搞定!
下载链接http://download.csdn.net/detail/rhljiayou/6767345
(仅供技术交流,24小时内删除)
这俩 对工作来说是相当实用的工具。
=============================================
1、引用的重要性
当我有文件需要添加到项目时你是如何做的?
第一种:直接拉就像这样
第二种:Add Files
随后它会弹出此框让你选择:
首先说 Copy items into destination group's folder (if needed):
把文件复制到项目中(如果需要),
此项很重要,如果勾选上,表示我要把我添加的文件复制到项目中去,那么你会在项目中看到此文件。
如果把勾选去掉,那么你拉进来以后,也仅仅是一个引用的文件而已,实际上没有在项目中,他只是对这个文件做了一个引用。这样当你把项目交给另外一个托管时,编译程序发现通不过,发现此文件找不到,是红色状态:
缺少这个文件,因为这个引用的路径在别人的机子上没有这个文件,自然也就找不到,自然是编译通不过的。
(别看此小问题,大部分人还是会犯的,小问题也有大麻烦。)
然后就是:
前者:Create groups for any added folders : 给任一你添加的文件创建一个组groups
后者:Create folder references for any added folders :给任一你添加的文件创建一个文件夹folder
当你向项目中添加一个文件夹时
两的区别是:前者的文件夹是黄色的;后者的文件夹是蓝色的
如果有一个info.h文件需要引用:前者直接导入import "info.h"就可能使用;后者你需要import "文件夹名字/info.h"才可能使用,否则编译时找不到文件info.h。
2、一切要先clean再build
不知道大家有没有遇到过这些问题:
(1)改了某个文件后编译无变化 (2)把图片删了后结果运行界面上还是有图片(3)莫名其妙的报错……等等类似的问题
当你第一次build的时候,所有的代码转成目标代码,当你做改变一个文件并且改动不大时,也不用先clean一下。
然而有的时候你频繁的添加文件,删除文件,以及程序老crash的时候,就会容易出现问题。
因为build只编译被改变了的文件,当你删除或重命名文件的时候,它不删除已经编译的文件,以便程序可以正常工作,但是如果你重新编译会看到错误,比如新添加的文件不被引用,原来删除的文件也没删除。那么就不得不把原来编译过的目标文件删除clean然后再重新编译build。
所以保证你的程序没问题时,先clean再build吧!
3、xcode分组之美(不要搞的项目乱齐八糟的)
前些天别人给了我一个项目,已经做完了,就是有些bug需要修改,扔给我以后找xcodeproj找了半天,一打开一看,我彻底的崩溃了,乱齐八糟的哪都不知道是哪儿,让我如何下手改,上图:
这只是一部分,下面还有一大堆文件。这真是看一眼就蒙了,这都是些什么,一点也看不懂,而且找个图片也找不到,因为图片都是以这样全名的,如下图:
这些个名字都是些什么。
也不知道把美工给的一些图的名字改改,就直接拿来用了。谁知道那些图片对应的毛线啊。
ok,吐嘈完毕,接下来,介绍一下各人认为比较好一些方法来使项目有条理。
(1)首先给项目起名字的时候不要用中文,最好用英文,如果英文不好的话,用拼音代替也是可以的。
(2)创建完项目可以按模块来建组分组,凡是项目都是可以分模块儿,自己在脑中规划一下分组,分组的名字也是好跟模块对应,比如我有三个模块是首页,工具,个人中心;那么我会三个分组是home,tools,center,然后三个分组中对应着是他们的代码。
(3)写项目肯定会引用第三方类库,那么就把所有用到第三方类库的文件夹也都放到统一的一个组里,表示这里只放第三方的文件。
(4)至于资源image图片分好文件夹也都放到一个images组里面。并且图片的名字也要对应于模块中的名字,这样找起来方便,比如home里的图片,我会这样起home_back.png等等类似。因为如果专业性比较强的美工他会给你起好名字,对于每个模块都会起好,这样你直接拿来用没什么问题,如果是专业性不强的美工,他直接给你这样的文件:1.png,2.png,3.png你不会就直接拖到项目中去了吧。一是美工平时可能忙,也是为了图省事儿,随便一起名字。所以美工给了你切图,不要直接使用,要命名好再用。
(5)然后所有的model放到一块儿,表示这一组里放的全是模型,找某个模型修改起来也方便。
ok,不管你是一个人写项目还是团队写项目,都要把项目管理好,以备后来之患,让别人再看你的项目时,一目了然,多好啊。
4、打断点看错误信息
当项目出问题的时候,你会如何查看?
我一般是打断点加NSLog打印信息。
顺便再看:
这非常之有用,这也能反应出你找问题的能力,以及解决问题的能力!!!
如有问题和意见,进群讨论113820038或者留言。
转载请注明:http://blog.csdn.net/rhljiayou
xcode 使用通用总结的更多相关文章
- iOS面试题汇总
摘要:1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通 ...
- 最全的iOS面试题及答案-转载
1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承:可以实现多个接口,通过实现 ...
- 李洪强iOS经典面试题124
1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现 ...
- 超全!iOS 面试题汇总
之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家.(题目来源于网络,侵删) 1. Object-c的类可以多重继承么?可以实现多个接口么?Cat ...
- iOS面试题及答案2015.6.7
iOS面试题及答案 1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承 ...
- oc常见误区
1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然 ...
- iOS开发——面试指导
iOS面试指导 一 经过本人最近的面试和对面试资料的一些汇总,准备记录这些面试题,以便ios开发工程师找工作复习之用,本人希望有面试经验的同学能和我同时完成这个模块,先出面试题,然后会放出答案. 1. ...
- iOS开发——面试笔试精华(三)
面试笔试精华(三) 1. When to use NSMutableArray and when to use NSArray? 什么时候使用NSMutableArray,什么时候使用N ...
- Objective-C基础知识点总结
一.#import 和 #include 的区别,@class代表什么?@class 和 #import 的区别?#import<> 和 #import""的区别 答: ...
随机推荐
- VS2012环境设置
一 先安装水晶报表 开发者和用户两种 YKCW6-BPFPF-BT8C9-7DCTH-QXGWC 保证完美激活!!! 激活码 一般网上的VS版本是使用版 要安装正版才能体验全部功能
- [转]从两道经典试题谈C/C++中联合体(union)的使用
宋宝华 21cnbao sweek@21cn.com 试题一:编写一段程序判断系统中的CPU是Little endian还是Big endian模式? 分析: 作为一个计算机相关专业的人,我们应该在计 ...
- 搭建高性能计算环境(一)、Linux操作系统的安装和配置
一般课题组刚开始做计算,往往没有专门的集群,主要用自己的PC机.工作站或者买几台服务器来跑跑:小伙伴们摸索Linux的使用.编译一些开源软件.甚至写点Shell脚本需要耗费很多时间,耽搁了读文献.码论 ...
- JavaScript模块化---AMD规范
JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发? 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问 题进行系 ...
- MongoDB 3 + Windows 7 X64安装及配置
注册windows服务,使MongoDB自动启动 1.使用系统管理员运行cmd C:\Users\admin> d: C:\Users\admin> cd "mongodb的安装 ...
- php文件hash算法,秒传原理
header('Content-type:text/html;Charset=UTF-8'); define('blockSize', 4*1024*1024); var_dump(fileHash( ...
- centos yum 安装问题
yum [Errno 256] No more mirrors to try 解决方法 输入下面的命令即可解决问题: yum clean all yum makecache 导致 centos安装软件 ...
- STM32F4_引领入门
Ⅰ.概述 该文写给那些想学ST芯片开发(或初级学习)的朋友,文章着重细节,或许有点简单. 笔者想告诉那些刚开始学习ST的朋友,不管你使用哪一个系列(F0.F1.F2),哪一种型号芯片,其实学习的方法和 ...
- Keil(MDK-ARM)使用教程(二)_菜单
Ⅰ.概述 接着上一篇来总结Keil(MDK-ARM)菜单相关的内容,详情请往下看. 关于Keil的下载.安装和新建工程我已将在前面做了详细的总结,不懂的可以参考我博客里面相关的文章.该文章是在新建好工 ...
- Keil的使用方法 - 常用功能(一)
Ⅰ.概述 学习一门软件的开发,开发工具的掌握可以说尤为重要.由于Keil集成开发工具支持多种MCU平台的开发,是市面上比较常见的,也是功能比较强大一款IDE.所以,对于大多数人说,选择Keil几乎是单 ...