自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 15.protocol

1.协议的定义 @protocol 协议名称   // 方法声明列表.... @end 2.如何遵守协议 1> 类遵守协议 @interface 类名 : 父类名 @end 2> 协议遵守协议 @protocol 协议名称 @end 3.协议中方法声明的关键字 1> @required (默认)    要求实现,如果没有实现,会发出警告

2014-12-23 09:39:34 263

转载 14.Block

block用来保存一段代码  block的标志:^     /*      block跟函数很像:      1.可以保存代码      2.有返回值      3.有形参      4.调用方式一样      */      // 指针函数的指针      int (*p)(int, int) = sum;      int d = p(10, 12);     

2014-12-23 09:38:40 283

转载 13.ARC

一.ARC为编译特性: ARC 的规则非常简单:只要还有一个变量指向对象,对象就会保持在内存中 1.将用retain的地方换为strong,assign的地方不变。alloc的地方不再需要release,系统自动添加release,且 在dealloc的地方不能用[super dealloc]。 不允许调用release、retain、retainCount 允许重写dealloc,但是

2014-12-23 09:38:04 328

转载 12.autorelease

1.autorelease的基本用法 1> 会将对象放到一个自动释放池中 2> 当自动释放池被销毁时,会对池子里面的所有对象做一次release操作 3> 会返回对象本身 4> 调用完autorelease方法后,对象的计数器不变 2.autorelease的好处 1> 不用再关心对象释放的时间 2> 不用再关心什么时候调用release 3.autorelease的使用注

2014-12-23 09:37:11 236

转载 11.循环引用

1.@class的作用:仅仅告诉编译器,某个名称是一个类 @class Person; // 仅仅告诉编译器,Person是一个类 2.开发中引用一个类的规范 1> 在.h文件中用@class来声明类 2> 在.m文件中用#import来包含类的所有东西 3.两端循环引用解决方案 1> 一端用retain 2> 一端用assign

2014-12-23 09:36:28 296

转载 10.@property参数说明

// retain : 生成的set方法里面,release旧值,retain新值  1.set方法内存管理相关的参数 * retain : release旧值,retain新值(适用于OC对象类型) * assign : 直接赋值(默认,适用于非OC对象类型) * copy   : release旧值,copy新值 2.是否要生成set方法 * readwrite : 同

2014-12-23 09:35:58 249

转载 9.set方法的内存管理

内存管理代码规范: 1.只要调用了alloc,必须有release(autorelease)    对象不是通过alloc产生的,就不需要release 2.set方法的代码规范 1> 基本数据类型:直接复制 - (void)setAge:(int)age {     _age = age; } 2> OC对象类型 - (void)setCar:(Car *)car

2014-12-23 09:35:20 302

转载 8.多个对象之间的内存管理

1.你想使用(占用)某个对象,就应该让对象的计数器+1(让对象做一次retain操作) 2.你不想再使用(占用)某个对象,就应该让对象的计数器-1(让对象做一次release)  3.谁retain,谁release  4.谁alloc,谁release

2014-12-23 09:34:32 249

转载 7.引用计数器的基本操作

1.方法的基本使用 1> retain :计数器+1,会返回对象本身 2> release :计数器-1,没有返回值 3> retainCount :获取当前的计数器 4> dealloc   * 当一个对象要被回收的时候,就会调用   * 一定要调用[super dealloc],这句调用要放在最后面 2.概念 1> 僵尸对象 :所占用内存已经被回收的对象,僵尸对象不能再使用

2014-12-23 09:33:51 332

转载 6.SEL

SEL其实是对方法的一种包装,将方法包装成一个SEL类型的数据,去找对应的方法地址。找到方法地址就可以调用方法 其实消息就是SEL     Person *p = [[Person alloc] init];     [p test2]; //    NSString *name = @"test2"; //    SEL s = NSSelectorFromString(name);

2014-12-23 09:33:04 233

转载 5.description

Person *p = [[Person alloc] init];   NSLog(@"%@", p);      // 1.会调用对象p的-description方法     // 2.拿到-description方法的返回值(NSString *)显示到屏幕上     // 3.-description方法默认返回的是“类名+内存地址”  Class c = [Person

2014-12-23 09:32:20 257

转载 4.类的本质(load/initialize)

1.当程序启动时,就会加载项目中所有的类和分类,而且加载后会调用每个类和分类的+load方法。只会调用一次。 2.当第一次使用某个类时,就会调用当前类的+initialize方法 3.先加载父类,再加载子类(先调用父类的+load方法,再调用子类的+load方法)    先初始化父类,再初始化子类(先调用父类的+initialize方法,再调用子类的+initialize方法)

2014-12-23 09:31:23 254

转载 2.Objective -C其他特性

一.点语法: 点语法实质是调用方法 二.成员变量的作用域  @public : 在任何地方都能直接访问对象的成员变量 @private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private) @protected : 可以在当前类及其子类的对象方法中直接访问  (@interface中默认就是@protected) @package :

2014-12-23 09:29:41 246

转载 1.Objective-C基本语法

一.封装  set方法 1.作用: 提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应过滤 2.命名规范: 1> 方法名必须以set开头 2> set后面跟上成员变量的名称,成员变量的首字母必须大写 3> 返回值一定是void 4> 一定要接收一个参数,而且参数类型跟成员变量类型一致 5> 形参的名称不能跟成员变量名一样 */ - (void)setAge:(int

2014-12-23 09:28:33 272

转载 3.Objective -C Category-分类

分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法 使用注意:  1.分类只能增加方法,不能增加成员变量  2.分类方法实现中可以访问原来类中声明的成员变量  3.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用  4.方法调用的优先级:分类(最后参与编译的分类优先) --> 原来类  --> 父类   下来如果需要扩展Person类的话:

2014-12-10 11:43:47 259

空空如也

空空如也

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

TA关注的人

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