NSMutableDictionary操纵字典内容(Objective-C 开发范例)
来源:互联网 发布:java物流管理项目描述 编辑:程序博客网 时间:2024/06/13 20:49
操纵字典内容(NSMutableDictionary)
问题
你希望字典内容能够更具动态性,这样用户或你就可以在字典中添加、删除和插入对象了。然而,NSDictionary 是不可变类,因此一旦创建NSDictionary 对象,你就无法再修改其中的内容。解决方案
如果知道字典会动态变化,那么请使用NSMutableDictionary。NSMutableDictionary 是NSDictionary 的子类,这意味着可以像使用NSDictionary 那样使用NSMutableDictionary。但NSMutableDictionary 提供了额外的一些方法,可以在字典中添加、删除和插入对象。
说明
首先需要实例化NSMutableDictionary 类,可以通过任何构造函数做到这一点。要想创建新的、空的NSMutableDictionary 对象,只需要使用alloc 与init 即可:
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];要想向字典中添加对象,需要向字典发送setObject:forKey:消息,同时带上要添加的对
象以及与对象关联的键:
[dictionary setObject:@"Hello World" forKey:@"english"];[dictionary setObject:@"Bonjour tout le monde" forKey:@"french"];[dictionary setObject:@"Hola Mundo forKey:@"spanish"];在使用setObject:forKey:时,你向字典中添加的对象一定是由你提供的键索引的。要想从字典中删除对象,就必须拥有与对象匹配的键。如果拥有键,那么可以通过removeObjectForKey:方法删除对象:
[dictionary removeObjectForKey:@"french"];最后,可以通过removeAllObjects:方法一次性删除字典中的全部对象。参见程序清单。
代码
程序清单 main.m
#import <Foundation/Foundation.h>int main (int argc, const char * argv[]){ @autoreleasepool { NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; [dictionary setObject:@"Hello World" forKey:@"english"]; [dictionary setObject:@"Bonjour tout le monde" forKey:@"french"]; [dictionary setObject:@"Hola Mundo" forKey:@"spanish"]; NSLog(@"OBJECTS ADDED TO DICTIONARY: %@", dictionary); [dictionary removeObjectForKey:@"french"]; NSLog(@"OBJECT REMOVED FROM DICTIONARY: %@", dictionary); [dictionary removeAllObjects]; NSLog(@"ALL OBJECTS REMOVED FROM DICTIONARY: %@", dictionary); } return 0;}使用
要想使用上述代码,请从Xcode 构建并运行Mac 应用。通过日志控制台,可以查看在应用每个操作后字典都发生了哪些变化:
OBJECTS ADDED TO DICTIONARY: { english = "Hello World"; french = "Bonjour tout le monde"; spanish = "Hola Mundo";}OBJECT REMOVED FROM DICTIONARY: { english = "Hello World"; spanish = "Hola Mundo";}ALL OBJECTS REMOVED FROM DICTIONARY: {}
阅读全文
0 0
- NSMutableDictionary操纵字典内容(Objective-C 开发范例)
- 操纵数组内容(Objective-C 开发范例)
- Objective-C ,ios,iphone开发基础:NSDictionary(字典) 和 NSMutableDictionary
- 字典对象(NSDictionary 和 NSMutableDictionary)-Objective-C
- 字典对象(NSDictionary 和 NSMutableDictionary)-Objective-C
- Objective-C 字典的基本用法(NSDictionary和NSMutableDictionary)
- Objective-c 字典对象 (NSDictionary 和 NSMutableDictionary )
- 【深入浅出Objective-C】8.3字典(NSMutableDictionary)
- Objective-C 字典:"NSDictionary" 和 "NSMutableDictionary"
- Objective-C语法-字典NSDictionary和可变字典NSMutableDictionary
- Objective-C学习-字典类型 NSDictionary 和 NSMutableDictionary
- Objective-C------NSDictionary、NSMutableDictionary字典对象用法总结
- Objective-C语言——NSMutableDictionary可变字典
- objective-c NSMutableDictionary 使用
- Objective-c - NSDictionary(NSMutableDictionary)
- Objective-C----NSDictionary、NSMutableDictionary
- 创建数组NSArray与NSMutableArray(Objective-C 开发范例)
- 数组NSArray遍历(Objective-C 开发范例)
- javabean
- 使用 aiohttp 和 asyncio 进行异步请求
- 记录篇 从零开始
- Python3 网络编程
- 点击RaidoGroup切换Fragment(Fragment中嵌套ViewPager)
- NSMutableDictionary操纵字典内容(Objective-C 开发范例)
- 模式开始第六天
- Android Share 将图片或者文件分享到自己的APP 中
- Django框架开发一个餐厅网站 架构
- 入门,入迷,行家,专家,大神
- Inconvertible types; cannot cast 'com.mplus.application.controller.serverPortTools.ServerPortToolsCo
- 乘法/除法与移位
- Centos 6.9搭建Hadoop分布式
- Java基础——虚拟机结构