IOS怎么样更有效率更全面的使用xcode之四大问题(二)
第一篇IOS怎么样更有效率更全面的使用xcode(一),主要是讲了一下如何更有效率的使用Xcode,总结出善用搜索,善用工具。现在这一篇博文主要想说一下在写程序中用Xcode的会有些问题出现。个人经验,欢迎讨论!
这些都是基本问题,但是我觉得挺重要的,常见到有些朋友犯这样的错误,而不知道原因的,所以记录下来,希望朋友们能够注重这样的问题。
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打印信息。
顺便再看:
这非常之有用,这也能反应出你找问题的能力,以及解决问题的能力!!!
以是中我总结的四个问题,欢迎大家一起讨论你们发现的一些问题。
转载注明原创地址:http://blog.csdn.net/rhljiayou