从NSString获取CGSize

时间:2015-06-21 05:17:30

标签: ios objective-c

在我的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变量。 但有没有一种直接实现这一目标的好方法呢?

2 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:0)

如果您可以修改自己的网络服务,请将尺寸键分别设置为高度和高度。宽度键。然后,您可以轻松使用这些键创建CGSize

如果不可能,唯一的方法是“,”&将值分配给CGSizeMake

相关问题