OC课程笔记总结-核心语法2:@property,@synthesize,@id

本文介绍Objective-C中@property和@synthesize关键字的使用方法,通过这两个关键字可以简化成员变量的set和get方法的编写过程,提高代码效率。

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

课程:核心语法

关键字:@property,@synthesize

这两个关键字可以简化对成员变量的set和get方法的代码编写过程。类似于OC中的点语法。

对于成员变量的set和get方法的编写代码重复量很高,没有实际意义,代码类似,除了放回类型以及参数类型不同之外,其他都十分相似。

使用关键字@property可以让xcode编译器自动生成成员变量的set和get方法的声明。只是方法的声明,而不是实现。

格式:@property 成员变量类型 成员变量名(去掉变量名开头的下划线,如果保留下划线,则编译成自动生成的方法名也会包含下划线,实际中如果手动写set和get方法是不会加上下划线的)。编译器可以自动改首字母大小写,但是不会自动去除下划线。在指针*号和变量名之间可以有空格,编译器会忽略它们之间的空格。

xcode编译器在自动生成成员变量set和get上比较智能,使用@property 类型 成员变量名后,编译器会根据这条语句中的成员变量名(后面用变量名1来指代)来

生成实际的set和get方法声明,如果变量名1加上“_”(编译器自动加)符合在大括号中声明过的相应的变量名,那么实际生成的就是对应正确的set和get方法,如果在大括号声明中没有找到这样一个符合的变量名,那么编译器一样会自动生成set和get方法,只不过对应的是”_变量名1"这个成员变量(在大括号声明中找不到),即编译器会自动声明这么一个成员变量:“_变量名1”。这个成员变量也会被加入到对象内存中,只不过不符合最初的编程思想,因此,在使用@property语句时要注意对变量名的书写。


自动生成set和get方法的实现:

关键字@synthesize。要使用synthesize关键字一定要先写property关键字定义好方法声明。格式如下:

成员变量声明: 类型名  _成员变量名1(以下划线开头);

@propety 类型名 成员变量名1(去掉下划线) ;

@synthesize 成员变量名1 (去掉下划线);

即成员变量名要对应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值