自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 类别

类别的作用:1。给已有的类添加新的方法(但不继承于这个已有的类)。2。也可以不给已有的类添加方法,而只是通过创建已有类的不同类别的手段,把已有类的实现分布到不同的.m文件中。3。通过使用类别的手段,可以实现委托(回调)。像NSString这样的类是不应该继承的,但如果想给它添加新

2011-07-07 00:44:13 268

原创 特性

<br />@property<br />@synthesize<br />一个用来声明setter/getter方法(在头文件中使用),一个用来实现settter/getter方法(在实现文件中使用)。<br />作用:简化代码编写量。<br /><br />@property (copy) XX  set时使用深拷贝(copy),原对象被release。<br />@property (retain) XX set时使用浅拷贝,只复制指针值,对象引用计数加1。

2011-06-27 23:54:00 171

原创 对象初始化

在oc中使用alloc后,会分配到一块内存块,同时这块内存块会被清零,所以初始化函数init是不需要再做置零的操作的。 在oc中,应该在alloc后就调用初始化函数init,使用new可以达到这个效果,但new不是oc的风格。 对象在init时,应该先使用其父类的init,然后再使用自己的init行为。而对象在dealloc时则相反,先是自己dealloc,然后才是父类deal

2011-06-26 12:19:00 337

原创 内存管理

ios5 sdk推出前。 只能说,它使用了引用计数的概念,却没有一套机制让你方便的使用。你要自己来控制引用计数的变化。 NSAutoreleasePool只是一个存放对象的数组,在它销毁时会对pool内的每一个对象release一下。对于大量非显示alloc/new/copy出来的对象,由于可以不需要再去显示release,所以还是有帮助的。嵌套使用它,还可以达到及时释放的目的

2011-06-21 00:34:00 233

原创 foundationKit

像c#可以使用framework,c++可以使用stl或boost,vc可以使用mfc一样,一门语言要好用,必需有一个强大的库的支持(如果你很强大你可以自己写)。 oc使用的Cocoa,Cocoa里面有一重要部分叫foundationKit。FK提供了常用的数据结果和算法。 常见的结构有:NSRange、NSPoint、NSSize、NSRect。有一些方法可以生产这些结构,如

2011-06-14 23:55:00 227

原创 oc文件组织

接口与实现分别写在不同的文件,这是一般的做法。对应的文件是.h与.m。 也有一些情况,类的声明与实现放在一个.h里面就行了,这对于简洁的类来说是可以的。 尽量不要在.h里面包含其它的.h。尽量在.m里面包含需要的.h。 为了解决互相包含,或减少文件依赖,可以考虑使用类的前置声明。一种万能方法是,所有引用类都用void*。

2011-06-12 23:52:00 265

原创 复合

复合即组合,这个概念很容易理解。 这是一个has_a的关系。 oc里面复合的一定是对象的指针。 oc里面不应该直接操作变量,而应该使用函数来操作变量(就是他们强调的间接概念),此时可以提供setter跟getter接口。 “不合理”的继承到处可见,像wtl里面就有很多不是is_a的继承。但从抽象的角度来看(即以偏概全的话,A的确就是B),他们还是有is_a的

2011-06-08 00:57:00 160

原创 继承

如果你的代码出现了大段相同的代码,那就说明你的设计有问题了。复制粘贴是很简单的动作,但是以后同时维护两份或更多份相同的代码,你就知道是多么痛苦的事。所以一旦使用了复制粘贴,你就要小心了,是不是要换一种方式了。有时候由于前期不给力,而工程又很赶,不得不弄出几份相同的代码,也是很无奈的事, 但如果后期又不给时间重构以去除这些重复的话,那就更他妈的烦人,可以骂你的上级。使用继

2011-06-06 12:47:00 198

原创 oop

oc使用的是oop思想。如果一开始没有受到opp的影响,就不用说这个转化的。如果你的程序使用了switch_case语句,然后这个case里面的判断是类型(根据不同的类型执行不同的函数),那这个时候就是在opp。如果你的需要一个enum结构来区分不同的类型,那很可能就是在opp。如果你的程序很直接,要做一件事就写一个函数,然后把数据传递给这个函数来处理,那很可能就是在opp。如果你

2011-06-06 01:10:00 254

原创 分合

编程跟做其它事一样,度的把握是至关重要的。具体点,分与合的把握是至关重要的。什么时候要分,什么时候要合,什么时候再分,这些没有一个规则来制定的,要靠经验来直觉来判断。能分则分,不能则合。理象数变通。

2011-06-05 01:46:00 261

原创 BOOL

oc里面的BOOL是一个char,而c里面的BOOL是一个int。不管是char是int,设计这个关键字的目的就是记录TRUE或FALSE,两种状态,所以它的值就应该只有两个:要么是0要是1(即FALSE或TRUE)。使用BOOL就不能再存放0或1之外的值,否则直接用int或char得了。

2011-06-05 01:20:00 341

原创 oc的样子

见过一些人用c++来写c程序,主要使用c++中的继承,来实现面向对象的设计思想。这样做不是因为这些人不懂c++,而是因为他们不想用c++那些特性,他们认为这些特征(像多重继承、模板甚至stl等)会导致难以控制的情景出现。基于c,使用少量的c++特征,达到面向对象的设计编程效果。如果有这么一种语言的话,那它就应该像objective-c。oc是一种使用简单、不优雅的语言。它支持面

2011-06-05 01:13:00 338

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除