【发布时间】:2015-12-31 15:44:39
【问题描述】:
您好,我正在尝试从 NSDictionary 中提取键值,字典值如下图所示
我需要使用代码将键“TITLE”的值提取到 NSString
NSDictionary* tmp = [self getDBRequest:req];
NSString * title =[tmp valueForKey:@"TITLE"];
但是给出类似的值
上面的代码有什么问题吗?
编辑:
NSLog(@"%@", tmp);
给出输出
2015-12-31 11:04:52.530 SimpleTable[610:10059] (
{
DESCRIPTION = "30% OFF ON NEW ";
"IMAGE_URL" = "crowd.jpg";
TITLE = "GET 30% OFF";
}
)
编辑2
实际上使用NSString * title =[tmp valueForKey:@"TITLE"];的结果我必须替换NSMutableArray的一个元素
还有代码
NSMutableArray *array = [[NSMutableArray alloc]init];
[array addObject:@"Eezy"];
[array addObject:@"Tutorials"];
NSDictionary* tmp = [self getDBRequest:req];
NSString * title =[tmp valueForKey:@"TITLE"];
[array replaceObjectAtIndex:0 withObject:title];
给我数组修改了一些类似下面的屏幕截图
【问题讨论】:
-
你能告诉我们,什么 NSLog(@"%@", tmp);打印到控制台?
-
您得到的结果与您的预期有何不同?
-
该代码运行正常;虽然你想要
objectForKey:,而不是valueForKey:。 -
@trojanfoe
objectForKey:给我一个例外,比如2015-12-31 11:15:11.297 SimpleTable[649:12131] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to instance 0x7fd09941a240' -
@Haris 这没有意义;你确定它在那条线上吗?您显示的是字典,而不是数组。
标签: ios objective-c nsstring nsdictionary