OC ---- 字典集合 iOS学习-----细碎知识点总结
实例方法的创建
NSDictionary *wukong = [[NSDictionary alloc] initWithObjectsAndKeys:@"悟空", @"name", @"男", @"gender", @"", @"age", nil ];
NSLog(@"%@", wukong); // 便利构造器创建
NSDictionary *wuNeng = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"悟能", @"男", @"", nil] forKeys:[NSArray arrayWithObjects:@"name", @"gender", @"age", nil]];
NSLog(@"wuNeng = %@", wuNeng);
// 获取字典在所有key
NSArray *allKey = [wuNeng allKeys];
NSLog(@"allKey = %@", allKey);
// 获取字典中所有的value
NSArray *allValue = [wuNeng allValues];
NSLog(@"allValue = %@", allValue); // 通过Key查询对应的value
NSString *name = [wukong valueForKey:@"name"];
NSLog(@"name = %@", name); NSString *gender = [wukong valueForKey:@"gender"];
NSLog(@"gender = %@", gender);
// 从字典中根据key取value可以使用valueForKey和objectForKey
NSString *age = [wukong objectForKey:@"age"];
NSLog(@"%@", age);
#pragma mark - NSMutableDictionary
NSMutableDictionary *mingRen = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"漩涡鸣人", @"name", @"男", @"gender", @"", @"age", nil]; // 添加键值对
[mingRen setValue:@"吃拉面" forKey:@"hobby"];
[mingRen setValue:@"木叶" forKey:@"address"]; // 更改
[mingRen setValue:@"吃包子" forKey:@"hobby"]; // setValue:forKey:和object:forkey:当key存在的时候,是修改key对应的value,当key不存在的时候是添加一对jianzhi
[mingRen setValue:nil forKey:@"hobbby"]; //
//[mingRen setValue:nil forKey:@"address"]; // 该方法中对应的object不能为空,否则会崩溃
//[mingRen setValue:[NSNull null] forKey:@"address"]; // 如果想给空值i个个、、、的话使用NSNull
//[mingRen setObject:[NSNull null] forKey:@"address"] // 删除
[mingRen removeObjectForKey:@"address"]; // for in快速枚举 字典的快速枚举,in前面是key的类型,in后面是字典对象(实例)
for (NSString *key in mingRen) {
NSLog(@"key = %@, value = %@", key, [mingRen valueForKey:key]);
}
#pragma mark - NSSet &NSMutableSet
// 创建一个NSSet对象
NSNumber *number1 = [NSNumber numberWithInt:];
NSNumber *number2 = [NSNumber numberWithInt:];
NSNumber *number3 = [NSNumber numberWithInt:];
NSNumber *number4 = [NSNumber numberWithInt:];
NSSet *set = [[NSSet alloc] initWithObjects:number1, number2, number3,number1, number4, nil];
NSLog(@"----%@", set);
NSLog(@" %ld", [set count]); // 集合里面的个数 NSLog(@"===%@", [set anyObject]); // 从集合里取出一个元素 if ([set containsObject:number1]) { // 集合中是否包含某个元素
NSLog(@"集合里有number1这个对像");
} else {
NSLog(@"集合中没有这个对象");
} // 创建一个NSMutbleSet对象
NSMutableSet *mutableSet = [NSMutableSet setWithObjects:@, @, @, @, @, nil]; // 字面量
NSLog(@"%@", [[set anyObject] class]);
NSLog(@"==%@", [number1 class]); // 添加
[mutableSet addObject:@];
// 删除元素
[mutableSet removeObject:@];
NSLog(@"-=-=%@", mutableSet); NSCountedSet *countedSet = [NSCountedSet setWithObjects:number1, number2, number3 , number3, number4, number2, nil];
NSLog(@"%@", countedSet);
NSLog(@"number1的次数是:%ld", [countedSet countForObject:number1]); // 获取某个对象在NSCountedSet中重复的次数 // 使用forin 对NSSet经行快速枚举
for (NSNumber *number in set) {
NSLog(@"----%@", number);
} // 从文件读取字符串
NSError *error = nil;
NSString *txtString = [[NSString alloc] initWithContentsOfFile:@"/Users/lanou3g/Desktop/test.txt" encoding:NSUTF8StringEncoding error:&error];
NSLog(@"%@", txtString);
OC ---- 字典集合 iOS学习-----细碎知识点总结的更多相关文章
- OC ---- 字符串 数组 iOS学习-----细碎知识点总结
NSString *urlString = [NSString stringWithFormat:@"http://www.apple.com"]; // 获取字符串 ...
- C语言 ---- 循环分支 iOS学习-----细碎知识点总结
#import <Foundation/Foundation.h> // #import是OC种的导入头文件或者是系统框架的指令 // 定义了一个Season枚举类型enum Seaso ...
- C语言 ---- 指针 iOS学习-----细碎知识点总结
内存的访问形式:1.直接访问:通过变量名进行访问.2.间接访问:先找到变量存放的地址,然后根据地址去访问对应的内存空间. 指针--- // 定义一个整形指针变量,用来存储num1在内存中的地址 ...
- C语言 ---- 数组 iOS学习-----细碎知识点总结
#pragma mark - 数组:用来存放同一数据类型的数据 // 数组的定义:类型说明符 数组名[常量表达式] = {值1, 值2, 值3...}; // 定义一个float类型的数组,用来 ...
- C语言 ---- 函数 结构体 iOS学习-----细碎知识点总结
函数的定义 返回值类型 函数名(形式参数列表) { 函数的实现 } 函数不允许嵌套定义 如果函数的定义在主调函数之后,那么要进行提前声明才能使用. // 匿名结构体,结构 ...
- C语言 ---- 基本数据类型和基本运算 iOS学习-----细碎知识点总结
// 导入头文件(stdio.h),标准输入输出的头文件,#include <stdio.h> // 程序的入口int main(int argc, const char * argv[] ...
- iOS学习——iOS开发小知识点集合
在iOS学习和开发过程中,经常会遇到一些很小的知识点和问题,一两句话就可以解释清楚了,这样的知识点写一篇随笔又没有必要,但是又想mark一下,以备不时之需,所以就有了本文.后面遇到一些小的知识点会不断 ...
- IOS学习笔记48--一些常见的IOS知识点+面试题
IOS学习笔记48--一些常见的IOS知识点+面试题 1.堆和栈什么区别? 答:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制:对于堆来说,释放工作由程序员控制,容易产生memor ...
- iOS学习路线图
一.iOS学习路线图 二.iOS学习路线图--视频篇 阶 段 学完后目标 知识点 配套学习资源(笔记+源码+PPT) 密码 基础阶段 学习周期:24天 学习后目标: ...
随机推荐
- .NET 获取客户端的操作系统版本、浏览器版本和IP地址
我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取. .NET 获取客户端的操作系 ...
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...
- 《DSP using MATLAB》示例Example5.14
代码: x1 = [1,2,2]; x2 = [1,2,3,4]; y = circonvt(x1,x2,4) n1 = 0:1:length(x1)-1; n2 = 0:1:length(x2)-1 ...
- PropertyMetadata和UIPropertyMetadata的一点区别
使用UIPropertyMetadata写一个Brush的依赖属性. System.Windows.Application.Current.Dispatcher.BeginInvoke(new Act ...
- js添加var和不加var区别
var 声明的变量,作用域是当前 function 没有声明的变量,直接赋值的话, 会自动创建变量 但作用域是全局的. //----------------- function doSth() { a ...
- C#连接Oracle数据库(直接引用dll使用)
转载至:http://www.cnblogs.com/gguozhenqian/p/4262813.html 项目中有个功能需要从一台Oracle数据库获取数据,本以为是很简单的事情,直接将原来的Sq ...
- Hadoop运维
简单记录几个hdfs的运维命令 //查看hdfs的状态,是否有missing block,corrupt block等,也可以看datanode的状态 hdfs dfsadmin -report // ...
- Dijkstra算法初步 - 迷宫问题
你来到一个迷宫前.该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数.还有若干双向道路连结这些房间,你沿着这些道路从一个房间走到另外一个房间需要一些时间.游戏规定了 ...
- HttpClient_自定义cookie策略
实际使用client的过程中,会遇到一种情况,如cookie的Key为空的,此时默认的cookie的策略处理cookie是会报错. 这时咱可以通过重写cookiestore策略来解决如: /** * ...
- AJAX实现跨域的三种方法
由于在工作中需要使用AJAX请求其他域名下的请求,但是会出现拒绝访问的情况,这是因为基于安全的考虑,AJAX只能访问本地的资源,而不能跨域访问. 比如说你的网站域名是aaa.com,想要通过AJAX请 ...