自定义博客皮肤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)
  • 收藏
  • 关注

原创 分类&延展&Block

分类分类是用于给原有类添加方法的, 它只能添加方法, 不能添加属性(成员变量) 分类中的@property, 只会生成setter/getter方法的声明 如果分类中有和原有类同名的方法, 会调用分类中的方法 *如果多个分类中都有和原有类中同名的方法, 那么调用该方法的时候执行谁由编译器决定延展延展就是匿名分类, 属于分类的私有方法 写在.m文件中声明@interface

2016-06-12 20:47:04 275

原创 MRC和ARC

MRCManul(手动) Reference(引用) Counting(计数) 什么是手动引用计数? 通过release和retain手动管理程序的内存 内存管理的原则就是有加就有减 也就是说, 一次alloc对应一次release, 一次retain对应一次relese多个对象的内存管理 当B对象成为A对象的属性时,A对象要对B对象进行一次retain确保B对

2016-05-30 17:00:43 290

原创 sel类型(以后完善)

sel类型(后期继续完善)作用一: 查看对象或类是否有这个方法查看对象是否有这个方法// 将方法包装成对象SEL sel = @selector(setAge:);Person *p = [[Person alloc] init];BOOL flag = [p respondsToSelector:sel];查看类是否有这个的方法SEL sel1 = @selector(test);fla

2016-05-29 20:33:30 466

原创 类工厂方法

什么是类工厂方法: 用于快速创建对象的类方法, 称之为类工厂方法 用于给对象分配和初始化这块存储空间 类工厂方法是苹果的一个规范: 1.一定是类方法 + 2.方法名称以类的名称开头, 首字母小写 3.一定有返回值, 返回值是id/instancetype+ (instancetype)person;+ (instancetype)personWith

2016-05-29 14:54:44 306

原创 构造方法

new方法Person *p = [Person new]; new做了三件事情 1.调用了+ alloc 方法 2.调用了- init 方法 3.返回对象的地地址Person *p1 = [Person alloc]; alloc做了什么事: 1.开辟存储空间 2.将所有的属性设置为0 3.返回当前实例对象的地

2016-05-29 11:28:06 366

原创 instancetype和id

id是一个数据类型,是动态数据类型 是数据类型, 所以就可以用来 1.定义变量 2.作为函数的参数 3.作为函数的返回值默认情况下所有的数据类型都是静态数据类型 静态数据类型的特点: 在编译时就知道变量的类型, 知道变量中有哪些属性和方法 在编译的时候就可以访问这些属性和方法,

2016-05-28 23:20:30 256

原创 Property

@porperty是一个编译器指令 在Xocde4.4之前, 使用@porperty来代替getter/setter方法的声明 编译器只要看到@property,就知道我们要生成某一个属性的getter/setter方法的声明 从Xcode4.4以后,只要利用一个@property就可以生成setter/getter方法的声明和实现 利用@property来生成gett

2016-05-28 23:08:11 348

原创 self/super关键字/实例变量修饰符/description

self关键字 self在对象方法中,代表调用当前对象方法的那个对象 self在类方法中,代表调用当前类方法的那个类对象super关键字 super在类方法中, 调用父类的类方法 super在对象方法中, 调用父类的对象方法实例变量修饰符@public (公开的) 可以在main函数中访问修饰的属性 可以在本类中访问修饰的属性 可以在子类中访问修饰的

2016-05-28 22:06:11 405

原创 继承和多态

继承 只要A类继承了B类, 那么A类就拥有了B类的所有属性和方法(对象方法和类方法) A类:子类 B类:父类优点: 提高代码的复用性继承中的方法调用顺序: 如果子类重写了父类的方法,会优先调用自己的,如果没有重写会调用父类的方法多态事物的多种表现形态优点: 提高了代码的扩展性 在程序中如何表现: 父类指针指向子类对象注意点:使用多态一定在继

2016-05-28 21:37:14 197

原创 getter-setter方法/点语法

@interface Gun : NSObject{ int _size;}/* setter方法: 作用: 设置成员变量的值 格式: 1. setter方法一定是对象方法 2. 一定没有返回值 3. 一定以set开头, 并且set后面跟上需要设置的成员变量的名称去掉下划线, 并且首字母大写 4. 一定有参数, 参数类型一定和需要设置的成员变量的类型一致, 并且参数名称就

2016-05-28 16:13:52 591

原创 匿名对象

匿名就是没有名字 , 匿名对象就是没有名字的对象1.有名字的对象只要用一个指针保存了某个对象的地址, 我们就可以称这个指针为某个对象 Person *p =[Person new]; // 0ffc12 称p为Person对象 p->_age = 30; p->_name= @"lnj"; [p say];2.没有名字的对象无论有没有名字, 只要调用new方法都

2016-05-28 15:59:46 331

原创 对象作为方法的参数连续的传递

#pragma mark - 弹夹@interface Clip : NSObject{ @public int _bullet; // 子弹}- (void)addBullet;@end@implementation Clip- (void)addBullet{ _bullet = 10;}@end#pragma mark - 枪@interface Gu

2016-05-28 14:22:19 303

原创 对象作为方法的参数传递

/* 士兵 事物名称: 士兵(Soldier) 属性:姓名(name), 身高(height), 体重(weight) 行为:打枪(fire), 打电话(callPhone) 枪 事物名称:枪(Gun) 属性:弹夹(clip) , 型号(model) 行为:上弹夹(addClip) 弹夹 事物名称: 弹夹(Clip) 属性:子弹(Bullet) 行为:上子弹(addBullet)

2016-05-28 13:16:06 789

原创 结构体作为对象的属性

typedef struct { int year; int month; int day;} Date;@interface Student : NSObject{ @public NSString *_name; Date _birthday;}- (void)say;@end@implementation Student- (void)s

2016-05-28 12:58:54 317

原创 类和对象

类和对象1.什么是面向对象 找对象使用对象的方法(功能)2.什么是类? 类就是用于描述对象的共有特征3.如何定义一个类 (1)类的声明: 告诉系统这个类有哪些属性和方法类名: 首字母大写NSObject 为了让我们的类具备创建对象的能力, 可以使用new方法 @interface 类名 : NSObject { 属性; //属性必须写到{}中, 属性名称以_开头 } 方法;

2016-05-27 23:56:08 286

空空如也

空空如也

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

TA关注的人

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