字典
在 Objective-C 中,字典(NSDictionary 和 NSMutableDictionary)用于存储键值对。
一、不可变字典(NSDictionary)
创建不可变字典:
使用字面量创建:
使用初始化方法创建:
特点:
一旦创建,内容不能被修改。不能添加、删除或修改键值对。
例如,下面的代码会导致编译错误:
访问键值对:
通过键获取对应的值:
检查字典中是否包含特定的键:
二、可变字典(NSMutableDictionary)
创建可变字典:
使用初始化方法创建:
添加键值对:
使用
setObject:forKey:
方法添加键值对:
删除键值对:
通过键删除键值对:
修改键值对:
可以直接使用
setObject:forKey:
方法修改已有键对应的值:
三、用途
存储和检索数据:字典可以方便地根据键来存储和检索值,适用于需要快速查找特定键对应的值的场景。
配置信息:可以将配置参数存储在字典中,方便在程序中读取和使用。
数据模型:可以用字典来表示复杂的数据结构,例如 JSON 数据的解析结果。
四、注意事项
键的类型:字典的键通常是不可变对象,如 NSString、NSNumber 等。如果使用可变对象作为键,可能会导致不可预测的行为。
内存管理:如果字典中的值是对象,需要根据所有权关系进行适当的内存管理,例如使用
retain
、copy
或遵循正确的内存管理规则。
Last updated