一、搜索东西

有时候类很多,方法很多,想改某类时,还要打开各自文件夹去点进去,感觉很麻烦费时间。

如下图:用此搜索可以搜到此类,从而进行修改。

有时候想在类中找某个方法或者属性,自已一点一点找很费劲,请看下图:

此搜索是在类中按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 使用通用总结的更多相关文章

  1. iOS面试题汇总

    摘要:1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通 ...

  2. 最全的iOS面试题及答案-转载

    1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承:可以实现多个接口,通过实现 ...

  3. 李洪强iOS经典面试题124

    1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现 ...

  4. 超全!iOS 面试题汇总

    之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家.(题目来源于网络,侵删) 1. Object-c的类可以多重继承么?可以实现多个接口么?Cat ...

  5. iOS面试题及答案2015.6.7

    iOS面试题及答案     1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承 ...

  6. oc常见误区

    1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然 ...

  7. iOS开发——面试指导

    iOS面试指导 一 经过本人最近的面试和对面试资料的一些汇总,准备记录这些面试题,以便ios开发工程师找工作复习之用,本人希望有面试经验的同学能和我同时完成这个模块,先出面试题,然后会放出答案. 1. ...

  8. iOS开发——面试笔试精华(三)

    面试笔试精华(三) 1.        When to use NSMutableArray and when to use NSArray? 什么时候使用NSMutableArray,什么时候使用N ...

  9. Objective-C基础知识点总结

    一.#import 和 #include 的区别,@class代表什么?@class 和 #import 的区别?#import<> 和 #import""的区别 答: ...

随机推荐

  1. 四、Struts2的执行过程和原理

    执行过程和原理(可能面试题) 学习目标:熟知struts2的执行过程(下图记住).源码可以不看 a.过滤器的初始化 .StrutsPrepareAndExecuteFilter是一个过滤器,过滤器就有 ...

  2. 14种网页图片和文字特效的jQuery插件代码

    1.网页图片3d旋转jQuery代码 演示和下载地址 2.存css3实现的tabl选项卡代码 演示和下载地址 3.jQuery标签旋转代码 演示和下载地址 4.鼠标悬浮的图片选项卡代码 演示和下载地址 ...

  3. jquery animate 动画效果使用说明

    animate( params, [duration], [easing], [callback] ) 用于创建自定义动画的函数. 这个函数的关键在于指定动画形式及结果样式属性对象.这个对象中每个属性 ...

  4. Ubuntu开发环境搭建

    linux开发不得不用虚拟机,为了节省系统资源.决定采用Ubuntu Server逐步搭建出具有图形界面的开发环境. ubuntu server 安装英文版 安装选择选generic,不要LVM选项. ...

  5. SLF4J日志门面

    SLF4J官网:http://www.slf4j.org/ SLF4J的作用通俗点讲,就是可以让我们的项目以最小的代价更换不同的日志系统.无需修改代码,只需要添加.删除相应的jar包和配置文件. 1. ...

  6. ViewPager使用 -------滑动图片

    package com.zzw.viewpage; import java.util.ArrayList; import java.util.List; import android.app.Acti ...

  7. python之ftplib库

    检测ftp是否可用 #!/usr/bin/python #coding:utf-8 from ftplib import FTP def ftp_open(ip,user,passwd): try: ...

  8. 刀哥多线程全局队列gcd-09-global_queue

    全局队列 是系统为了方便程序员开发提供的,其工作表现与并发队列一致 全局队列 & 并发队列的区别 全局队列 没有名称 无论 MRC & ARC 都不需要考虑释放 日常开发中,建议使用& ...

  9. 窗体皮肤实现 - 在VC中简单实现绘制(五)

    到第四部分Delphi XE3的代码能基本完成窗体界面的绘制.窗口中的其他控件的处理方法也是相同的,截获消息处理消息. 问题这个编译出来的个头可不小.Release版本竟然2.43M,完全是个胖子.系 ...

  10. job不自动运行解决方法

    一.plsql.新建命令窗口 用查询语句: show parameter job_queue_processes 看看job_queue_processes的值 如果你的job很多那么将这个值设大,5 ...