OC中声明变量的几种方式

本文介绍了Objective-C中三种定义变量和属性的方法:直接在接口声明中定义私有变量、使用@property结合@synthesize手动指定实例变量、仅使用@property声明而让编译器自动生成实例变量。并分析了每种方式的特点及适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种.  

      .h文件里 

         @interface Test : NSObject{

               NSString *s;

          

第二种.  

     .h文件里

         @interface Test : NSObject{

                NSString *s;;

           }

          @property (copy, nonatomic) NSString *s

     .m文件里

        @synthesize s = _s;

第三种.

     .h文件里

         @interface Test : NSObject{

           }

          @property (copy, nonatomic) NSString *s

    .m文件里

        @synthesize s = _s;  //有没有都无所谓

方式一  声明的成员变量只能在类内部使用。

方式二  显然是一种已经过时的方式,xcode在没有自动合成属性器之前,需要手写gettersetter方法,下划线从风格上表明这是类的内部变量,要是需要直接使用变量则需要使用get或者set的方式。

XCode有了自动合成属性器后,编译器会自动帮我们生成一个以下划线(_)开头的的实例变量,所以我们不必去同时声明属性与变量。

方式三   推荐使用 目前主流的使用方式。在.m里加不加 @synthesize s = _s;  都无所谓。


  一定注意@synthesize方法放到@implementation......@end之内~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值