黑马程序员技术交流社区

标题: OC-Xcode特性-点语法 [打印本页]

作者: wangchao1992    时间: 2015-8-16 17:01
标题: OC-Xcode特性-点语法
本帖最后由 wangchao1992 于 2015-8-16 17:14 编辑

传统的get和set方法
          Person *p = [Person new];
           //调用set方法
          [p setAge:17];
         [p setName:@"曾小贤"];
         //调用get方法
          int a = [p age];  //调用get方法
          NSString *n = [p name];
          NSLog(@"\nage:%d,name:%@",a,n);
使用点语法:
           点语法 ;   xcode的特性,xcode帮我们做代码替换
           p.age = 17;      //p.age = 17 --替换-->[p setAge:17]
           p.name = @"曾小贤";//p.name=@"曾小贤"---替换--> [p setName:@"曾小贤"];

          int a = [p age];  //调用get方法
          NSString *s = [p name];        
           注意,此处p.age是出现在了等号的右侧

           实际上,当xcode 看到p.age出现在等号的右侧后,
           它会帮我们把p.age ---替换成---> [p age];
           int a = p.age;  //调用get方法   

          强调:p.age到底是替换成get方法还是set方法,一般取决于
          p.age出现在等号左侧还是右侧(是设置值,还是取值)



Person 类
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
    //实例变量
    NSString *_name;
    int _age;
}

//set方法
-(void)setAge:(int)age;
-(void)setName:(NSString *)name;

//get方法
-(int)age;
-(NSString*)name;
@end




作者: dzb5461883    时间: 2015-8-16 20:14
学习了,不错
作者: wdcew    时间: 2015-8-16 21:04
总结的好,加油!!!
作者: fersh    时间: 2015-8-16 21:54
不错呦,总结的还可以
作者: fersh    时间: 2015-8-16 21:56
真的不错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2