在我的Web服务响应中,我得到了JSON密钥之一的值,如下所示:

{
dimensions = "1200, 800";
displayName = "something";
displayNumber = 1;
}

我需要将尺寸字符串转换为CGSize变量,并使用以下代码。我将JSON字典转换为NSDictionary名称wardsDictionary并执行以下操作:
NSString *dimensionsString = (NSString *)[wardsDictionary objectForKey:@"dimensions"];
CGSize wardDimensions = CGSizeFromString(dimensionsSizeString);
NSLog(@"the dimensions string: %@",dimensionsString);
NSLog(@"the width: %@ and height:%@", wardDimensions.width, wardDimensions.height);

结果是:
the dimensions string: "1200, 800"
the width: 0.0000 and height:0.0000

现在,我要在此处执行的操作是使组件之间用“,”分隔,并从中获取CGSize变量。
但是有直接实现此目标的好方法吗?

最佳答案

问题是CGSizeFromString要求字符串采用以下格式:"{1200, 800}"您可以将方括号附加到任一侧,或者执行componentsSeparatedByString:@","然后获取组件的intValue:

NSArray *parts = [dimensionsString componentsSeparatedByString:@","];
float width = [parts.firstObject floatValue];
float height = [parts.lastObject floatValue];
CGSize size = CGSizeMake(width, height);

10-07 12:41
查看更多