博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年7月9日

摘要: 什么是 objective-c 的分类?有的时候,我们需要对原有的类添加一些功能(方法)作为源类扩展,他的功能是扩展类的能力。分类需要注意的地方:1:尽管分类可以访问原始类的实例变量,但是他不能添加自身的任何变量,如果需要添加变量,可以考虑创建子类。2:分类可以重载该类的另一个方法,但是通常认为这种做法是卑劣的设计习惯。第一:重载一个方法后,再也不能访问原来的方法,因此,必须小心将被重载方法中的所有功能复制到替换方法中,如果确实需要重载方法,可以考虑常见子类,如果在子类中重载方法,仍然可以通过想super发送消息类来引用父类的方法。因此不必了解重载方法的内容就能够调用父类的方法,并向子类的方法 阅读全文

posted @ 2011-07-09 15:42 星尘的天空 阅读(675) 评论(0) 推荐(0) 编辑

摘要: 将警告当做Error来对待因为在objective-c种,静态检查下的警告在运行的时候可能会生成致命的错误,因此,对于编译时候的警告一定解决掉,避免程序在运行时的崩溃。因为objective-c的动态程度如此之高,所以编译器无法像静态语言编译器那样捕捉每一个可能导致运行时崩溃的问题。因此要特别的注意警告,并尽可能消除他们。将编辑器设置为把警告当成错误一样来对待。方法:》打开project info 窗口》build》GCC4.2 -Warings》设置Treat Waring as ErrorTHE END !2011-07-08 阅读全文

posted @ 2011-07-09 12:24 星尘的天空 阅读(255) 评论(0) 推荐(0) 编辑

摘要: 最近在项目种遇到设置tabbar背景色的需求,从网上查找资料,大概有两种方法,一种是View初始化的时候插入一个背景色的UIView,另外一种重写一个tabbar的函数,可是对于这个通过重写tabbar实现设置背景色的函数,由于个人能力的原因,到现在也没有实现,如果有那个网友能够实现这个功能,麻烦请留言给我,告诉我,我也好学习学习。对于第一通过添加背景色View的方式,也是一种可行的方法,可是存在bug,当iphone处于纵向模式,正常显示,可是一旦使手机处于横向模式就出现了问题:对比下图所示:通过上图的对比会发现,纵向的时候背景色宽度没有和屏幕宽度一致在之此方法的基础上修改了代码,基本上解决 阅读全文

posted @ 2011-07-09 11:54 星尘的天空 阅读(1739) 评论(0) 推荐(0) 编辑