21、Objective-C 高级特性与位运算全解析

Objective-C 高级特性与位运算全解析

1. 键值编码(Key-Value Coding)

键值编码是一种强大的机制,允许我们通过字符串键来访问和修改对象的属性。不过,在使用过程中,我们需要注意对象封装的原则。有时候,即使没有访问器方法,变量也能在其他方法中被设置和读取,这显然违背了对象封装的理念——对象的方法应该是公开的,而实例变量应该保持私有。但由于键值编码非常实用,所以大家还是会使用它。

1.1 非对象类型的处理

键值编码方法通常是为对象设计的,但有些属性是基本数据类型,如 int float 。以 voltage 为例,它是一个 int 类型的属性。要使用键值编码设置 voltage ,我们需要使用 NSNumber

操作步骤如下:
1. 在 main.m 中,将设置 voltage 的代码从 [a setVoltage:240]; 改为 [a setValue:[NSNumber numberWithInt:240] forKey:@"voltage"];
2. 在 BNRAppliance.m 中添加一个显式的访问器方法:

- (void)setVoltage:(int)x
{
    NSLog(@"setting
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值