- 博客(8)
- 收藏
- 关注
转载 iOS-OC为什么需要重写setter或getter方法?
打个比方:一个person类中有一个属性age,那么如果用property声明后,set跟get方法仅仅只是做一个_age = age.但是你想想如果你在person类中new一个对象p,那么我可不可以写成 p setAge = -10 ?一个人的年龄肯定不会有-10岁,如果重写set方法你就可以在set方法中写成if(age age = 1;}也就是说当你给age赋值小于
2016-05-29 21:03:56 1992
原创 iOS-OC中使用KVC转换JSON数据(笔记)
1.模型类:创建一个模型类,在模型类中添加模型,如:students.h中声明:@property (nonatomic, strong)NSString *name;@property (nonatomic)int age;2.工具类创建一个工具类studentsTools在studentsTools.h中声明方法:-(NSArray *)allStude
2016-05-29 15:57:49 595
原创 iOS-绑定key与属性名方法
如果字典的key与系统自带的关键字冲突怎么解决?重新绑定key与自定义属性-(void)setValue:(id)value forUnderfinedKey:(NSString*)key{if([key isEqualToString:@"冲突关键字"]){self.自定义属性名 = value;}}
2016-05-29 15:24:31 462
转载 iOS-OC中的self.a与_a访问区别简析
在OC中我们可以通过指令@property定义属性一般定义属性方法如下:.h文件中:@property int a;-(void)changeValue:(int)aValue;在类的实例方法中,我们可以通过下面两种方式来访问a的属性1.直接用属性名访问:--(void)changeValue:(int)aValue{_a = aValue;//
2016-05-29 13:11:18 575
原创 iOS-OC中的lazyLoad(懒加载)
懒加载(lazyLoad)又称为延迟加载,是iOS中为了节约内存常使用的方法(一个手机内存能有多大呢),简单来说,就是我们定义一个变量,在程序启动的时候不要实例化,等需要使用的时候再调用.懒加载的有优点:占用内存小懒加载的使用方法:1.首先声明一个UILabel,如下:@property (nonatomic, strong)UILabel *label;
2016-05-28 17:47:53 2040
原创 iOS-单例模式
单例模式:Singleton 单个实例模式单例模式是一种特殊的工厂方法,该工厂方法只能产生一个对象,本质为单例是在程序声明周期里有且仅有被实例化过一次的类,为了确保实例化的唯一性,利用static方法来生成和访问对象,我们可以在程序的任何地方访问类的单例对象,因为只实例化唯一的一次,所以并不用alloc、init、autorelease方法,所以不论你接着对它copy,retain还是allo
2016-05-28 17:05:44 422
原创 iOS-OC中的静态方法(类方法)与实例方法
方法是类的行为,写在.h(接口)和.m(实现)两个文件中,在.h文件中声明方法 在.m文件中实现方法类方法与实例方法:OC中的类可以声明两种类型的方法:实例方法和类方法.实例方法就是一个方法,它在类的一个具体的实例范围内执行,就是说,你在调用一个实例方法前,必须先创建一个实例.而类方法比较起来,不需要创建一个实例.+号开头表示类方法,在类方法中只只用类名调用,不依赖于任何对象的
2016-05-28 15:13:40 5678
原创 iOS-OC中的类与对象
类是一种数据类型类只存在源代码中,不在某个区类是结构体的升级,用于定义变量,类一般定义在.m文件中类的成员变量名前需要加下划线_类中可以添加函数类中能在堆上定义变量,不能定义在栈上(因为栈小堆大,类占空间较大),并且类不需要释放类可以使用[类名+函数名]调用分割文件,类的声明在.h文件中,类中的函数是现在.m文件中
2016-05-28 15:07:53 352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人