点语法访问属性

来源:互联网 发布:杭州网络传媒有限公司 编辑:程序博客网 时间:2024/05/14 11:58

之前学习通过@property,@synthesize合成setter和getter方法,每次需要设置属性时都通过setter方法完成,每次需要访问属性值都通过getter方法完成,但实际上Object-C允许使用简化的点语法访问属性和对属性赋值。

例如:下方程序

程序清单:Dog.h

#import <Foundation/Foundation.h>@interface Dog : NSObject//使用@property定义两个property(属性)@property(nonatomic,copy)NSString  * flower;@property(nonatomic,copy)NSString  * value;@end
                                      程序清单:main.m
#import <Foundation/Foundation.h>#import "Dog.h"int main(int argc, const char * argv[]) {    @autoreleasepool {        Dog *dog = [[Dog alloc]init];        //通过点语法对属性赋值        <strong>dog.flower = @"花";        dog.value = @"A";</strong>        //通过点语法来访问属性值        <strong>NSLog(@"我牌为:%@%@",dog.flower,dog.value);</strong>            }    return 0;}
上方的粗体字代码可以通过点语法对属性赋值,访问属性的示例代码,很明显,通过点语法更加简单,运行程序输出:

2016-02-10 11:46:40.227 点语法访问属性[805:25577] 我牌为:花AProgram ended with exit code: 0
点语法是一种非常简单的方法,但点语法只是一种简化的方法,他的本质依然是调用getter,setter方法,当程序调用点语法获取属性值时,就是返回该对象的getter方法的返回值。当程序调用点语法设置对象的属性值时,本质上是调用该对象的setter方法设置。

点击打开链接





333










4 0