有这样一段代码:
NSDictionary* items2=[NSDictionary dictionaryWithObjectsAndKeys:
[d objectForKey:@"GZDBH"],@"工作单编号",
[d objectForKey:@"LDSJ"],@"来电时间",
[d objectForKey:@"SLWCSJ"],@"受理完成时间",
[d objectForKey:@"SLR"],@"受理人",
[d objectForKey:@"ZJHM"],@"主叫号码",
[d objectForKey:@"LXR"],@"联系人",
[d objectForKey:@"LXDH"],@"联系电话",
[d objectForKey:@"BXDZ"],@"报修地址",
[d objectForKey:@"CLLX"],@"故障类型",
[d objectForKey:@"JRLX"],@"接入类型",
[d objectForKey:@"CLQY"],@"处理区域",
[d objectForKey:@"FWJB"],@"服务级别",
[d objectForKey:@"JJCD"],@"紧急程度",
[d objectForKey:@"YXFW"],@"影响范围",
[d objectForKey:@"QKMS"],@"受理情况",
nil];
但是后来发现items2中始终只有一个对象“工作单编号“,检查后发现,其中“来电时间”对象是空,而dictionaryWithObjectsAndKeys方法在遇到nil对象时,会以为是最终的结束标志。于是items中只放了一个对象就初始化结束了,而且不管编译和运行中都不会报错,这样的bug显然很隐蔽。
原文作者:颐和园
原文链接:http://blog.csdn.net/kmyhy/archive/2010/12/17/6082394.aspx
分享到:
相关推荐
13. NSDictionary:NSDictionary是一个不可变字典,可以通过字面量或者dictionaryWithObjectsAndKeys方法创建。 14. NSLog输出类型:NSLog函数输出不同类型的数据需要使用正确的格式化占位符,例如:%d用于整数,%@...
[NSKeyedArchiver archiveRootObject:[NSDictionary dictionaryWithObjectsAndKeys:@"username", @"username", @"password", @"password", nil] toFile:@"user.plist"]; // 加载数据 NSDictionary *userInfo = ...
[request setRequestHeaders:[NSMutableDictionary dictionaryWithObjectsAndKeys: @"api.maopao.com:80", @"Host", @"iPhone:6.0.1/maopaopaipai:1.3.6/source:mppp_I_app/deviceinfo:iPhone3,1", @"User-Agent",...
- objectsForKeys:notFoundMarker: 根据给定键数组返回对象数组,缺失的键可以用notFoundMarker指定。 至于NSMutableDictionary的常用方法还包括: - setObjects:forKeys:notFoundMarker: 设置多个键值对; - ...
- **[NSDictionary dictionaryWithObjectsAndKeys:ankush, @"TA", janestudent, @"Student", nil];** - 用键值对创建`NSDictionary`。 - **[NSArray arrayWithContentsOfFile:(NSString *)path];** - 从文件路径...
- **`NSDictionary`:** 可以通过 `[NSDictionary dictionaryWithObjectsAndKeys:]` 或者 `@{@"zs": @"zhaosi", @"ls": @"lisi"}` 来创建不可变字典。 #### 8. 集合对象的内存管理 (MRC) - **加入集合:** 当对象...
例如,可以使用`@{}`语法创建一个包含键值对的字典,或者通过`NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:...];`来初始化一个字典对象,其中`objects`和`keys`参数分别指代值和键的...
//initWithNibName将控制器绑定xib的方法,如果xib的名称和控制器的类名称相同的时候,直接写init(会自动绑定同名的xib)就可以,如果xib的名称和类名称不同的话,必须手动调用此方法来进行绑定 ...
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:array,@"1",@"dongdong", @"name", nil]; if ([NSJSONSerialization isValidJSONObject:dic]) { NSData *jsonData = [NSJSONSerialization ...
NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil]; [dic setObject:@"value3" forKey:@"key3"]; [dic removeObjectForKey:@"key3"]; ...
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: @"title", @"title", @"desc", @"desc", @"price", @"price", nil]; NSArray *myProduct = [NSArray arrayWithObjects:dict, dict, dict, ...
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Value1", @"Key1", @"Value2", @"Key2", nil]; [dict setObject:@"NewValue" forKey:@"NewKey"]; // 插入新的键值对 ``` 三、...
与soap webservice服务通信的简单方法 如何使用 : 第 1 步:将 \classes\ 文件夹复制到您的项目中 第 2 步:导入 LCSoapDelegate.h 第 3 步:实施协议 第 4 步:创建您的肥皂参数,例如: NSString *xmlns = @" ...
NSMutableDictionary *mutableDict = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Value1", @"Key1", @"Value2", @"Key2", nil]; // 将字典转化为NSData NSData *data = ...
[NSTimer scheduledTimerWithTimeInterval:3.0f target:self selector:@selector(dismissAlert:) userInfo:[NSDictionary dictionaryWithObjectsAndKeys:alert, @"alert", @"testing ", @"key", nil] repeats:NO];...
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil]; id value = [dictionary objectForKey:@"key1"]; ``` 而使用语法糖,可以采用键值对的...
XmlDictionary = [NSDictionary dictionaryWithObjectsAndKeys: data.user,@"kUsers", data.title,@"kTitles", data.content,@"kContents", nil]; [self performSelectorInBackground:@selector(parsedXml:) ...
EasyPostHelper-iOS 通过iOS访问EasyPost ...NSMutableDictionary *dictionaryForParcel = [NSMutableDictionary dictionaryWithObjectsAndKeys: @"8",@"parcel[length]", @"6",@"parcel[width]", @"5",@"parcel[hei
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:d, s, nil]; [cacheArr addObject:dict]; createImage: UIImage *img = [[UIImage alloc] initWithData:d]; return [img autorelease]; } ...