1

我有一个从 NSDictionary 返回的 NSValue。NSValue 是使用sizeWithAttributes创建的。我想知道如何将 NSValue 恢复为可以使用它来创建标签大小的值。

我得到了由此计算的标签大小

betweensLabelSize = [betweensString sizeWithAttributes: @{
                      NSFontAttributeName: [UIFont systemFontOfSize:14.5f]
                }];

我把它作为 NSValue 放入 NSDictionary 并像这样检索

NSValue *tempSize = [currAxisDictionary objectForKey:@"betweensLabelSize"];

返回此值

NSSize: {64.278503, 86.4925}
4

2 回答 2

2

为了清楚起见,您大概创建了NSValueusing +[NSValue valueWithCGSize:]-sizeWithAttributes:没有创建NSValue; 它返回了一个CGSize你包裹在一个NSValue.

无论如何,您可以通过调用它CGSize来摆脱对象:NSValue-CGSizeValue

CGSize size = [tempSize CGSizeValue];
于 2014-11-30T22:10:41.150 回答
0

尝试下面的代码来访问大小值:-

NSValue *val=[mut objectForKey:@"betweensLabelSize"];
CGSize sz=val.CGSizeValue;
于 2014-11-30T22:35:39.333 回答