OC中对@property的见地
一.set/get的存在
set和get是在oc中的一种赋值和取值的方式,但是格式如何?怎么用?或者又是在什么情况下用的?然后还有一系列由get和set引起的问题.我这里只是一小部分,希望能和大家分享.有什么不足的地方,麻烦大家给点意见.首先我们来看看下面这段代码吧.
-(void)setAge:(int)age;//年龄对象方法 +(int)age;//年龄的类方法 +(void)setName:(NSString *)name; -(NSString *)name; +(void)setHigh:(double)high; -(double)high; +(void)setWeight:(double)weight; -(double)weight;
上面这些都是get和set的书写规范,在写程序的时候由于大多数人都是真么写的,所以也是一种书写规范吧.然后就给上具体的实现方法.
//年龄的方法的实现
-(void)setAge:(int)age{ _age = age; } //年龄的get的方法实现 -(int)age{ return _age; } //名字的set方法实现 -(void)setName:(NSString *)name{ _name = name; } //名字的get的方法实现 -(NSString *)name{ return _name; }
上面所说的get方法的前面可以加上get,但是也可以不加.那我们看看吧.
这是可以用get的方法实现的方法.下面我将为大家奉上具体的书写规范,是我总结的:
由于set和get的方法写起来比较繁琐,如果要赋值的量或者获取的量太多的话,那么这么写一定会很麻烦,所以下面我给大家一个更方便的方法,也为你们奉上具体的用法,也可以说事用来代替get和set的方法吧.
二.@property
话不多说,我们来看看@property的具体格式吧.
这是对简单的代码了,里面直接用@property来代替get和set,其实就和创建对象一样,@property也是有三步曲的.
这就是和创建对象的三部曲一样,大家可以看看.然后接下来的就是我给大家的具体的@property的具体的格式.
三.点语法对二者的使用
当直接用对象名来和get/set搭配使用的时候就会出现一个点语法,然后点语法是非常使用的语法,用来在类的外部访问方法或者属性的,但是为什么会有这个特性呢,这其中其实都是因为get和set方法本身的特性,所以使得点语法也就出现了,那么具体怎么实现的,我们来看看具体的代码吧.
定义: 实现:
上面写的是最简单的点语法,那么我就不讲解了,知道大家也懂,我这只是想通过set和get来告诉大家由很多方法是从set何get方法中引用出来的. 那么最后我还是希望能喝大家多交流交流,反正错了没关系,希望大家能多聊聊,如果我有什么地方能继续进步的,也希望大家给我反馈.