NSDictionary 通过唯一的key找到唯一的值
// 初始化 NSDictionary 是不可变的
NSDictionary *dic = [NSDictionary dictionaryWithObject:@"v" forKey:@"k"];
// 最常用的初始化方式
NSDictionary *dic = [NSDictionary
dictionaryWithObjectAndKeys:@"v",@"k",@"v",@"k",@"v",@"k",nil];
//
NSArray *keys = [NSArray arrayWithObjects:@"k1",@"k2","k3",nil];
NSDictionary *dic = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
[dic count] // 返回键值对数
isEqualTO... 比较键值对是否相同
objectForKey:@"k2" // 通过键取值 由于NSDictionary不可变所以只能取值不能改变值
//将字典写入到文件中
NSString *path = @"/Users/apple/Desktop/a.xml";
[dict writeToFile:path atomically:YES];
// 从文件中读取内容
dict = [NSDictionary dictionaryWithContentsOfFile:path];
[dict allKeys]; // 返回所有的key
// 根据多个key找到多个value
[dict objectsForKeys:[NSArray arrayWithObjects:@"k1",@"k2",nil]
notFoundMarker:@"not-found"];
//遍历字典
for(id key in dict) {
id value = [dict obj];
}
// 迭代遍历 key迭代器
NSEnumerator *enumer = [dict keyEnumerator];
id key = nil;
while(key = [enumer nextObject]){
id value = [dict objectForKey:key];
NSLog(@"%@=%@",key,value);
}
// 对象迭代器
[dict objectEnumerator];
// block 遍历
[dict enumerateKeysAndObjectsUsingBlock:(id key,id obj,BOOL *stop){
NSLog(@"");
}]
// 一个对象为字典的key或者value时,会做一次retain操作,计数器加1
当字典被销毁时,里面的所有key和value都会做一次release操作
====================================================
// 可变字典
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
Student *stu = ...
[dict setObject:stu forKey:@"k1"];
removeObjectForKey 删除所有键值对
removeObjectForKey:@"k1" 删除k1对应的元素
可以传数组删除多个key对应的元素 removeobjectForKeys
// 添加其他字典到当前字典
NSDictionary *other = [NSDictionary ictionaryWithObject:@"v2" forKey:@"k2"];
[dict addEntriesFromDictionary:other];
// 一个对象为字典的key或者value时,会做一次retain操作,计数器加1
当字典被销毁时,里面的所有key和value都会做一次release操作
相关推荐
5. **协议与代理**:OC的协议是一种实现多继承的方式,常用于实现对象间的通信。代理模式是iOS开发中的常见设计模式,笔记会讲解如何定义和使用代理。 6. **块(Block)**:OC的块是内联函数的一种形式,可以作为...
培训机构的一份笔记,感觉很好用的
本笔记将深入探讨cocos2d-oc的核心概念、关键特性和实际应用,帮助开发者从零开始掌握这一强大的游戏引擎。 一、cocos2d-oc简介 cocos2d-oc是基于Objective-C的Cocos2d引擎版本,它提供了丰富的图形绘制、动画制作...
标题提到的"OC Extension DelectedDicNull(判断字典中key是否有值)"是一个OC扩展方法,专门用于处理字典中可能存在的`nil`值。 在Objective-C中,`NSDictionary`是不可变的数据结构,它存储键值对,其中键必须是`...
在这个“OC Extension SafeObject(防止数组字典取值越界).zip”压缩包中,我们有一个这样的工具类,它的目的是确保在尝试获取数组或字典元素时,如果越界则安全地返回`nil`,而不是引发运行时错误。 首先,我们来...
用表格的形式详细总结了OC语言中字符串、数组、字典的属性,创建、以及使用方法
本文将详细介绍如何将API接口的JSON数据快速转化为Objective-C(OC)中的字典,以便在iOS应用中使用。 首先,我们需要了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript的一个...
本笔记合集将深入探讨OC的基础概念、语法特性以及实际应用中的常见问题。 一、Objective-C基础 1. 对象和类:Objective-C是基于对象的,所有的数据都是以对象的形式存在。类是对对象的模板,定义了对象的行为和...
在OC中实现MD5加密,通常会借助于`CommonCrypto`库,这是一个苹果提供的C语言库,包含多种加密算法,如MD5、SHA等。我们可以创建一个类别(Category)来扩展`NSString`,增加MD5加密的方法,使得对字符串进行MD5处理...
在iOS开发中,Objective-C(简称OC)与HTML5(简称H5)的交互是常见的需求,尤其是在混合式应用开发中。本资源“OC跟H5基础交互代码.zip”提供了OC与H5之间进行基本通信的示例代码,这对于理解和实践这种交互方式...
在这个“oc中字典的主要内容”课程中,我们将深入探讨`NSDictionary`的关键概念、常用方法以及在实际开发中的应用。 首先,`NSDictionary`是`NSObject`的子类,它不允许存储基本数据类型(如int、float),只能存储...
5. **神舟战神K650C-i7笔记本**:神舟是一家中国品牌,以其高性价比的笔记本电脑著名。安装黑苹果时,需要注意神舟笔记本的硬件配置,尤其是那些macOS官方未直接支持的部件。 6. **配置文件**:OpenCore引导加载器...
"黑苹果4代U通杀OC引导,bigsur"这个标题揭示了我们即将探讨的主题,是关于在第四代Intel处理器(如i7、i5、i3以及E3)上安装黑苹果(Hackintosh)系统,并使用OC(OpenCore)引导程序来实现对最新macOS大版本"bigsur...
本压缩包提供的学习资料涵盖了OC语言的基础到高级特性,结合代码实例和详细笔记,是iOS开发者深入理解OC语言的宝贵资源。 一、Objective-C基础 Objective-C是C语言的超集,它引入了面向对象的概念,如类、对象、...
"黑苹果OC引导bigsur4代U专用"这一标题涉及到的是在个人计算机上安装苹果操作系统Mac OS X(这里指的是macOS Big Sur)的过程,尤其是针对第四代Intel Core处理器(如i3、i5、i7以及E3 1220V3、1230V3、1271V3)的...
5. 类与对象的概念,如何定义一个类,如何创建对象并访问对象的属性。 6. 方法的声明、实现和调用,详细讲解了无参数、单参数和多参数方法的语法。 7. 两个实例,通过"书类"和"手机类"两个具体例子,综合运用前面所学的...
5. 在JS中,通过`window.webkit.messageHandlers`对象调用OC注册的方法。 例如,假设你在OC中注册了一个名为`callFromJS`的JS消息处理器: ```objc WKUserContentController *userContentController = [...
标题中的“黑苹果 big sur戴尔5370 8250u UHD620 OC引导EFI.zip”指的是在戴尔XPS 5370笔记本上安装苹果操作系统Big Sur,并通过超频(Overclocking,简称OC)进行引导的EFI(Extensible Firmware Interface)配置...