iOS中@synthesize的使用

本文深入探讨了Objective-C编程中@synthesize和@property关键字的功能,详细解释了它们如何自动生成成员变量的getter和setter方法的声明和实现,以及如何在不同场景下选择使用其中之一来优化代码结构。

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

@synthesize关键字和@property关键字一样,都是编译器特性,让Xcode可以自动生成getter和setter的声明和实现

(一)@property 关键字

           @property 关键字可以自动生成某个成员变量的setter和getter方法的声明 

            语法

             @property NSString *str;      

            编译器遇到这一行,则自动扩展成下面两句: 

              - (void)setStr:(NSString *)str;  

              - (NSString *)str;


(二)@synthesize 关键字

           @synthesize 关键字帮助生成成员变量的setter和getter方法的实现

           语法

            @synthesize str;

            相当于下面的代码:

             - (void)setStr:(NSString *)str

             {

                      _str = str;

              }

<span style="font-size:18px;">
      - (NSString *)str
      {
          return str;</span>
<span style="font-size:18px;">      }</span>


(三)@dynamic

           @dynamic 关键字,告诉编译器,不自动生成setter和getter方法,避免编译期间产生警告,然后有开发人员自己实现存取方法,或者存取方法在运行时动态创建绑定

            


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值