UISlider值,转换为NSNumber,= -1.10311e-146

时间:2012-05-14 20:15:39

标签: ios floating-point uislider nsnumber

我有一个滑块,我将它的值保存到用户默认值,然后在另一个视图中抓取该数字。然后我将该float转换为NSNumber以用于CiRadialGradient过滤器。

我保存的值如下:

[[NSUserDefaults standardUserDefaults] setFloat:_alphaSlider.value forKey:@"Alpha"];

并检索如下:

NSNumber *inRadius1 = [NSNumber numberWithFloat:[[NSUserDefaults standardUserDefaults] floatForKey:@"Alpha"]];

问题是当抓取滑块值并将其转换为NSNumber时,我得到值-1.10311e-146。我期待一些不同的东西。

在我的故事板中,滑块值设置为0到100.无论我放置滑块的位置,该值总是很大的负值。

有什么想法吗?

干杯。

1 个答案:

答案 0 :(得分:1)

我猜你是这样记录的:

NSLog(@"%f", inRadius1);

但实际上NSNumber是一个Objective-C对象,所以你应该使用%@

NSLog(@"%@", inRadius1);