[英]Converting NSDictionary to NSArray
这两种将 NSDictionary 转换为 NSArray 的语法有什么区别?
//replyInfo 是 NSDictionary
NSArray *values=[[NSArray alloc]init];
values = [replyInfo valueForKey:@"response"];//when this?
values = [replyInfo allValues];//when this?
values = [replyInfo valueForKey:@"response"];
这为您提供了字典中特定键的值。
其中values = [replyInfo allValues];
返回一个包含字典值的新数组
values = [replyInfo allKeys];
将返回字典中所有键的数组。
何时使用:
当您想从字典中访问特定项目时
values = [replyInfo valueForKey:@"response"];
当您想对所有值做某事时,例如遍历所有值或某事
values = [replyInfo allValues];
假设您收到如下响应,
{
"response" : [1, 2, 3, 4, 5]
}
然后,
values = [replyInfo allValues];
会这样放数据。
values[0] = NSArray ([1, 2, 3, 4, 5])
values[1] = nil
现在,访问这些数据; 我们可以这样做,
array = [values objectAtIndex:0];
这可以导致,
array[0] = 1
array[1] = 2
array[2] = 3
array[3] = 4
array[4] = 5
allValues :它的返回类型是一个数组。 它为您提供字典的值(不是键)。 如果 dict 为空,则返回 nil。
valueForKey :它的返回类型是 id。 这意味着此方法可以返回任何对象(如 NSArray、NSDictionary、NSString 等)。
NSArray *values = [[replyInfo valueForKey:@"response"] allValues];
请你试试这个。
你可以这样做:
successCallback(@[resultMessage]);
其中 resultMessage 是 NSDictionary 和 successCallback 接受 NSArray
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.