NSDictionary 初始化】的更多相关文章

由于今天在NSDictionary初始化的时候出现Crash异常,故记录一下,避免下次再犯. 在Objective-C中,NSDictionary初始化的方法有很多种 方法1: [NSDictionary dictionaryWithObjectsAndKeys:<#(id), ...#>, nil] 方法2: NSDictionary *dic = @{@"key":value} 那么,坑在哪里呢?就在第二种初始化方法 NSDictionary *dic = @{@&qu…
最近在做项目的时候遇到一个挺坑的崩溃问题,是由于NSDictionary初始化时nil指针引起的崩溃.假设我们现在要初始化一个{key1 : value1, key2 : value2, key3 : value3}的NSDictionary,一般有两种初始化方法: 1.使用标准的初始化方法: NSDictionary *dictionary =[[NSDictionary alloc] initWithObjectsAndKeys:value1,@"key1",value2,@&qu…
NSDictionary *dic1=[NSDictionary dictionaryWithObject:@"1" forKey:@"a"];        NSLog(@"%@",dic1);        /*结果:         {         a = 1;         } */                //常用的方式        NSDictionary *dic2=[NSDictionary dictionaryWi…
nil指针对NSDictionary及NSArray初始化的影响 最近在做项目的时候遇到一个挺坑的崩溃问题,是由于NSDictionary初始化时nil指针引起的崩溃.假设我们现在要初始化一个{key1 : value1, key2 : value2, key3 : value3}的NSDictionary,一般有两种初始化方法: 1.使用标准的初始化方法: NSDictionary *dictionary =[[NSDictionaryalloc] initWithObjectsAndKeys…
OC NSDictionary NSDictionary初始化 NSDictionary * dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2", nil]; NSDictionary * dict2 = [NSDictionary dictionaryWithObjects:@[@"value…
//从字符串分割到数组- componentsSeparatedByString: NSString *str = [NSString alloc] initWithString:@"a,b,c,d"]; NSLog(@"str:%@",str); NSArray *array = [str componentsSeparatedByString:@","]; NSLog(@"array:%@",array); [str re…
/** * NSUserDefaults可以进行轻量级的数据存储 * NSUserDefaults支持的数据类型: NSString, NSNumber, NSDate, NSArray, * NSDictionary */ //初始化NSUserDefaults NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; //存储BOOL类型 [defaults setBool:YES forKey:@"fisrtLaun…
在controller中加载plist数据 1,设置属性NSArray 或可变数组NSMutableArray @property(nonatomic,strong)NSArray *message; 2,重写get方法,懒加载,获取plist的数据 -(NSArray*)messages{ if(_messages==nil){ //加载plist中的字典数据 //bundle中包含ios程序所有的资源 NSString* path=[[NSBundle mainBundle] pathFor…
第四课(干货课): (最近要复习考试,有点略跟不上节奏,这节课的内容还是比较重要的,仔细理解掌握对今后的编程会有很大影响) 本节课主要涉及到Foundation和UIKit框架,基本都是概念与API知识,作者主要做一归纳整理. 0.其他 a.对象初始化 ①通过alloc init(例如[[NSString alloc] initWithFormat:@"%d",2]) ②通过类方法(例如[NSString StringWithFormat:@"%d",2]) ③通过…
I--load 类被加载时自动调用,只要类的项目中,运行时就会加载.类一加载,此方法就会调用 //类被加载时调用,只要类的项目中,运行时就会加载,类一加载,此方法就调用 + (void)load { NSLog(@"load方法被调用"); } //当使用这个类第一次创建对象时,或第一次调用类方法时,需要初始化一下这个类,该方法会被调用 load   initialize  只有类实例化的第一次的时候才能被调用  以后都不调用 +initialize 当使用这个类第一次创建对象时,需要…
一 -[__NSCFConstantString size]: unrecognized selector sent to instance 0x53ea70 该错误是在我将NSString类型的参数赋值给UIImage类型的时候报出的,查了一会才查出是这的问题. 如果大家不是这个问题查一下是不是也是赋值类型错了. 二 [__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object…
方法1: NSMutableDictionary *dic = [[NSMutableDictionary alloc] init]; [dic setObject:[Hp_KeysArray objectAtIndex:_textField.tag] forKey:@"hpb_id"]; [dic setObject:[NSNumber numberWithInt:_currentPage] forKey:@"currentPage"]; [dic setObje…
做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便.在Objective-C语言中 词典对象就是做这个事情的,不过在同一个词典对象中可以保存多个不同类型的数据,不像Java与C 只能保存声明的相同类型的数据,它的关键字为NSDictionary与NSMutableDictionary.阅读过我之前文章的朋友应该从关键字的 结构就可以看出这两个的区别.很明显前者为不可变词典,或者为可变词…
Fouandation 中常见的理解错误区 1.NSString //快速创建(实例和类方法) 存放的地址是 常量区 NSString * string1 = [NSString alloc]initWithString:@“123”]; NSString * string3 = [NSString stringWithString:@“123”]; //格式化方法创建   存放地址是堆区 NSString * string2 = [NSString alloc]initWithFormat:@…
(1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界面,也就是用户看到的界面. (2)我们需要把导航控制器加载到APP中,需要把这个导航控制器设置为window的根视图控制器(都是控制器类,可以赋值),这样就相当于加载到了window里. (3)我们要在栈中新增或者删除一个视图控制器,就需要得到导航控制器,一般在栈中得所有视图控制器都有一个self.…
/*_______________不可变字(NSDictionary)____________*/          //1.字典的创建     //值(value)     NSArray *array1 = @[@"zhangsan",@"zhangfei",@"zhangchaoyang"]; //zhang     NSArray *array2 = @[@"lisi",@"lining",@&qu…
iOS学习(OC语言)知识点整理 一.OC中的字典 1)字典:是一个容器对象,元素是以键-值对(key-value)形式存放的,key和value是任意类型的对象,key是唯一的,value可以重复 2)OC中的字典有两种 1.不可变字典:NSDictionary,初始化后不能修改其内容 2.可变字典:NSMutableDictionary,初始化后可以修改其内容 二.NSDictionary 字典的操作 1)实例化方法创建字典对象 例如: NSDictionary *dict1=[[NSDic…
NSDictionary    1.什么是字典        字典是也是一种集合结构,功能与我们现实中的字典工具一样    2.字典的元素是什么        任意类型的对象地址构成键值对    3.什么是键值对        键值对是由key和value构成必须一一对应        键值对中的key必须保证是唯一的        4.字典的存储方式       字典是一种无序保存的集合    5.如何查找值        根据键值对中的key找到相应的值===================…
Demo project: NSDictionary-NilSafe 问题 相信用 Objective-C 开发 iOS 应用的人对下面的 crash 不会陌生: *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[1] *** setObjectForKey: key cannot be nil *** setObjectForKey…
.不可变词典NSDictionary 字典初始化 NSNumber *numObj = [NSNumber numberWithInt:]; 以一个元素初始化 NSDictionary *dic = [NSDictionary dictionaryWithObject:numObj forKey:@"key"]; 初始化两个元素 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:numObj, @"v…
#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; #pragma mark - 简单对象的本地持久化 #pragma mark - 将NSString类型的数据存储到本地 // 1.需要知道这个对象存在哪里,所以需要一个文件夹的路径 // 找到Documents文件夹路…
/** *  字典 存放键值对类型的数据 存放数据是无序的 */ // 字典在控制台输出是用{}包括起来的 // NSDictionary 不可变字典 // 1.创建对象 // 初始化方法 NSDictionary *dict1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"zhizunbao", @"name", @"man", @"sex", @27, @"ag…
与NSString.NSArray一样,NSDictionary是不可变的,其对应可变类型为NSMutableDictionary.其用法如下: #import <Foundation/Foundation.h> @interface Student : NSObject @property (nonatomic, retain) NSString *name; + (id)studentWithName:(NSString *)name; @end #import "Student…
1 重构学生与学校的练习 1.1 问题 本案例要求用字典解决下述问题.问题是:有一个学校,该学校有两个学院,每个学院中又有两个班级,而在每个班级中有两名学生. 现在作如下要求: 1)显示所有学生的信息. 2)只显示姓名为“zhangsan”的学生的信息. 3)只显示年龄为18岁的学生的信息. 4)如果每个学生有本书,显示所有学生的书的名称和价格. 1.2 步骤 实现此案例需要按照如下步骤进行. 步骤一:定义类Book 首先,在Day04工程中新添加Book.h文件,用于定义新的类Book. 代码…
做过Java语言或者 C语言开发的朋友应该很清楚关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便,是一种非常常用的数据结构.在Objective-C语言中,当然也有这方面的支持,词典对象就是做这个事情的,不过在同一个词典对象中可以保存多个不同类型的数据,不像Java与C只能保存声明的相同类型的数据,这一点还是可以解决不少问题的. 词典的关键字为NSDictionary与NSMutableDictionary.对OC稍有认识的朋友应该从关…
NSDictionary.NSMutableDictionary的基本用法 1.不可变词典NSDictionary 字典初始化 NSNumber *numObj = [NSNumber numberWithInt:100]; 以一个元素初始化 NSDictionary *dic = [NSDictionary dictionaryWithObject:numObj forKey:@"key"]; 初始化两个元素 NSDictionary *dic = [NSDictionary dic…
文章转载自:http://www.cnblogs.com/wengzilin/archive/2012/03/15/2397712.html 做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便.在Objective-C语言中 词典对象就是做这个事情的,不过在同一个词典对象中可以保存多个不同类型的数据,不像Java与C 只能保存声明的相同类型的数据,它的关键字为NSDictionary与…
原文网址:http://my.oschina.net/u/1245365/blog/177736 摘要 Foundation中的字典是由 键—值 对组成的数据集合.通过key(键),查找对应的value(值),key通常是字符串对象,也可以是其他任意的对象,但key的值必须是唯一的.此外,字典对象的key 和value的值不可以为空(nil),如果要表示一个空值,可以用NSNull对象 1.NSDictionary (不可变字典) 字典的初始化 //一个key - value NSDiction…
NSDictionary(字典),NSDictionary类似于 .net中的parameter,l类似于java中的map. 通过唯一的key找到对应的值,一个key只能对应一个只,而多个key可以对应同一个值.NSDictionary 在初始化之后,就不可以再进行修改. 使用类方法创建NSDictionary对象. 初始化一个NSDictionary对象.使用+ (id)dictionaryWithObject:(id)object forKey:(id)key; NSDictionary*…
1. 数组的常用处理方式 //--------------------不可变数组 //1.数组的创建 NSString *s1 = @"zhangsan"; NSString *s2 = @"lisi"; NSString *s3 = @"wangwu"; //(1) NSArray *array1 = [[NSArray alloc] initWithObjects:s1,s2,s3, nil]; NSLog(@"%@",a…