NSDictionary和NSArray

// 字典里套数组

NSArray *array1 = @[@"huahau" , @"hehe"];

NSArray *array2 = @[@"xiaobao" , @"liangtao"];

NSDictionary *dic7 = [[NSDictionary alloc] initWithObjectsAndKeys:array1 , @"key1" , array2 , @"key2" , nil];

//        NSLog(@"%@" , dic7);

//拿出字典当中的所有key值

NSArray *keyArray3 = [dic7 allKeys];

//外层for循环控制字典有多少  键值对

for (int i = 0; i < [dic7 count]; i++) {

NSArray *a = [dic7 objectForKey:[keyArray3 objectAtIndex:i]];

// 取每一个小数组里面的元素

for (int j = 0; j < [a count]; j++) {

NSLog(@"%@" , [a objectAtIndex:j]);

}

}

NSLog(@"*********************************");

//数组套字典

//创建两个字典

NSDictionary *dic8 = @{@"key1":@"stu1" , @"key2":@"stu2"};

NSDictionary *dic9 = @{@"key3":@"tea1" , @"key4":@"tea4"};

//创建一个数组存放字典

NSArray *dicArray1 = [[NSArray alloc] initWithObjects:dic8 , dic9 , nil];

//        NSLog(@"%@" , dicArray1);

//循环控制数组个数得到字典

for (int i = 0; i < [dicArray1 count]; i++) {

NSDictionary *d = [dicArray1 objectAtIndex:i];

//根据键值对取出每个字典元素

NSArray *a1 = [d allKeys];

for (int j = 0; j < [d count]; j++) {

//                NSDictionary *dd = [d objectForKey:[a1 objectAtIndex:j]];

//                NSLog(@"%@" , dd);

NSLog(@"%@" , [d objectForKey:[a1 objectAtIndex:j]]);

}

}

NSLog(@"***********************************");

//字典套字典

//创建两个小字典

NSDictionary *dic11 = @{@"k1":@"v1" , @"k2":@"v2"};

NSDictionary *dic12 = @{@"k3":@"v3" , @"k4":@"v4"};

//创建大字典

NSDictionary *dic13 = @{@"key5":dic11 , @"key6":dic12};

//根据键值控制小字典

NSArray *dicArray11 = [dic13 allKeys];

for (int i = 0; i < [dic13 count]; i++) {

NSDictionary *dic14 = [dic13 objectForKey:[dicArray11 objectAtIndex:i]];

//根据每个字典键值得到每个字典值

NSArray *dicArray12 = [dic14 allKeys];

for (int j = 0; j < [dic14 count]; j++) {

NSLog(@"%@" , [dic14 objectForKey:[dicArray12 objectAtIndex:j]]);

}

}

NSLog(@"*************************************");

// 数组里面套数组

//创建一个小数组

NSArray *array111 = @[@"aydcuj" , @"dahgh"];

NSArray *array112 = @[@"ujcdjks" , @"hgahd"];

//创建一个大数组

NSArray *bigArray = [NSArray arrayWithObjects:array111 , array112 , nil];

//控制每个数组

for (int i = 0; i < [bigArray count]; i++) {

NSArray *aaa = [bigArray objectAtIndex:i];

//取出每一个小数组元素

for (int j = 0; j < [aaa count]; j++) {

NSLog(@"%@" , [aaa objectAtIndex:j]);

}

}

NSLog(@"************************************");

//创建24个小数组

NSMutableArray *bigArray1 = [NSMutableArray array];

for (int i = 0; i < 24; i++) {

NSMutableArray *miniArray = [NSMutableArray array];

NSNumber *number = [NSNumber numberWithInt:i];

[miniArray addObject:number];

}

时间: 2024-10-04 06:58:00

NSDictionary和NSArray的相关文章

NSDictionary或NSArray与JSON字符串相互转换

一.将NSDictionary或NSArray转化为JSON串// 将字典或者数组转化为JSON串   NSData *jsonData = [NSJSONSerialization dataWithJSONObject:array options:NSJSONWritingPrettyPrinted  error:nil]; //得到想要的JSON串NSString *jsonString = [[NSString alloc] initWithData:jsonData  encoding:

iOS中NSString,NSData和char的相互转换,JSON串转化为NSDictionary或NSArray

1.NSString 转换成NSData 对象 NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding]; 2.NSData 转换成NSString对象 NSData * data; NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 3.NSData 转换成char* NSData

NSDictionary和NSArray打印中文出现乱码的解决方案

/* 新建一个分类,打印带中文的NSDictionary和NSArray就不会再出现乱码了: */ #import <Foundation/Foundation.h> @implementation NSDictionary (Log) -(NSString *)descriptionWithLocale:(id)locale { NSArray *allKeys = [self allKeys]; NSMutableString *str = [[NSMutableString alloc]

NSJSONSerialization-JSON数据与NSDictionary和NSArray之间的转化

    在iOS  5 中,苹果引入了一个解析JSON串的NSJSONSerialization类. 通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化. 以前,我记得我用的是第三方的插件.但是,苹果出了这套解析后,效率也大大了超过了,所有的解析第三方类库.所以,推荐使用NSJSONSerialization类来完成转化. 一.将NSDictionary或NSArray转化为JSON串 // 将字典或者数组转化为JSON串 - (NSData *)toJSON

iOS 开发遇到的问题之(nil指针对NSDictionary及NSArray初始化的影响)

nil指针对NSDictionary及NSArray初始化的影响 最近在做项目的时候遇到一个挺坑的崩溃问题,是由于NSDictionary初始化时nil指针引起的崩溃.假设我们现在要初始化一个{key1 : value1, key2 : value2, key3 : value3}的NSDictionary,一般有两种初始化方法: 1.使用标准的初始化方法: NSDictionary *dictionary =[[NSDictionaryalloc] initWithObjectsAndKeys

Objective-C中关于请求返回NSData数据解析成NSDictionary或NSArray的方法

1.如果后台返回的是字典或数组的data型,直接使用以下方法转换: { // Data 转成 字典 其中responseObject为返回的data数据 NSDictionary *resultDictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil]; NSLog(@"resultDictionary: %@"

NSDictionary 或者NSArray(NSMutableArray) ==&gt;&gt; NSData ==&gt;&gt; NSString (Json):

以下代码都有详细的注释说明这些类型之间的转换(如有错误的地方还望批评指出,谢谢!) - (void)viewDidLoad { [super viewDidLoad]; /** * NSDictionary ||NSArray(NSMutableArray) ==>> NSData ==>> NSString (Json): */ // NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: // @&q

NSDictionary,NSArray转成NSData(JSON)NSString类型

// // NSDictionary+JSONorNSString.h // UIKit数据转换 // // Created by mac on 15-4-4. // Copyright (c) 2015年 www.swift.com. All rights reserved. // #import <Foundation/Foundation.h> @interface NSDictionary (JSONorNSString) /** * 转换成JSON串字符串(没有可读性) * * @r

iOS7: 漫谈基础集合类(NSArray,NSSet,NSOrderedSet,NSDictionary,NSMapTable,NSHashTable, NSPointerArray, NSIndexSet,NSCache, NSFastEnumeration)

基础集合类是每一个Mac/iOS应用的基本组成部分.在本文中,我们将对”老类”(NSArray, NSSet)和”新类”(NSMapTable, NSHashTable, NSPointerArray)进行一个深入的研究,探索每一个的效率细节,并讨论其使用场景. 提示:本文包含一些参照结果,但它们并不意味着绝对精确,也没有进行多个.复杂的测试.这些结果的目的是给出一个快速和主要的运行时统计.所有的测试基于iPhone 5s,使用Xcode 5.1b1和iOS 7.1b1,64位的程序.编译选项设