打印

OC-Xcode特性-点语法

[复制链接]
153|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
没名字的人|  楼主 | 2018-8-23 11:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
传统的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出现在等号左侧还是右侧(是设置值,还是取值)

<img id="aimg_rNoX4"  class="zoom" file="http://bbs.itheima.com/data/attachment/forum/201508/16/171430ddjvflvwzf3jj3le.png.thumb.jpg"  lazyloadthumb="1" border="0" alt="" />

<img id="aimg_lf6G7"  class="zoom" file="http://bbs.itheima.com/data/attachment/forum/201508/16/171431gtrn1opblpfp4f4x.png.thumb.jpg"  lazyloadthumb="1" border="0" alt="" />

Person 类

#import <Foundation/Foundation.h>

@interface Person : NSObject

{

    //实例变量

    NSString *_name;

    int _age;

}

//set方法

-(void)setAgeint)age;

-(void)setNameNSString *)name;

//get方法

-(int)age;

-(NSString*)name;

@end







——————————————————————————————————————

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

420

主题

432

帖子

0

粉丝