14、Objective-C 中的对象可变性、Core Foundation 及相关类型解析

Objective-C 中的对象可变性、Core Foundation 及相关类型解析

1. 对象变量的 const 声明

通常,只有当对象变量引用不可变对象时,将其声明为 const 才有用。const 关键字并非直接属于 Objective-C,而是从 C 语言继承而来。需要注意的是,对象变量声明的类型并不能决定它实际引用的对象类型。例如:

NSMutableString* name = @"Jane";

此代码创建的是一个普通的 NSString,而非 NSMutableString。幸运的是,当构建项目时,Xcode 通常会对此类情况发出警告。若要从字面字符串创建可变字符串,必须使用 +[NSMutableString stringWithString:] 类方法或 - [NSMutableString initWithString:] 方法,示例如下:

NSMutableString* name1 = [NSMutableString stringWithString:@"Jane"];
NSMutableString* name2 = [[NSMutableString alloc] initWithString:@"Jane"];
[name2 release];

所有关于可变性的通用规则(即那些不直接涉及文本的规则,如 -mutableCopy )适用于所有可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值