iPhone UISlider到NSNumber

时间:2010-08-22 21:25:34

标签: iphone uislider

我正在尝试获取UISlider的值并将其存储到CoreData实体的一部分中。

我需要保存的分数将是滑块的值(即slider.value)或10减去滑块的值(即10 - slider.value)

我正在尝试将它放入NSNumber中,当我使用intValue时它工作正常。

当我使用其中任何一个......

score = [NSNumber numberWithInt:slider.value];

...或

score = [NSNumber numberWithInt:10 - slider.value];

它运作完美,我可以在以后回忆这些值而没有任何问题。

但是,我真的需要将值提高到1位小数,但每当我尝试这个时,我就无法让它工作。

我真的不知道从哪里开始。我可以毫无问题地将双值输出到NSLog,但是我无法弄清楚如何将它变成NSNumber。

我似乎总是得到错误“无法转换为指针类型(2)”

非常感谢任何帮助。

由于

3 个答案:

答案 0 :(得分:4)

你试过numberWithFloat :?如果你使用的是int,你当然永远不会得到任何小数位,因为根据定义,整数是一个整数。

答案 1 :(得分:2)

如果您可以在没有问题的情况下NSLog出双值,那么以下方法应该有效:

- (id)initWithDouble:(double)value

答案 2 :(得分:2)

UISlider -value:是float类型,因此10 - slider.value给出一个浮点数,numberWithInt:期望一个int(可能自动转换),但是你想要一个浮动,你应该使用numberWithFloat:

但是你的错误“无法转换为指针类型(2)”与精度无关,它更像是一个指针/值的东西。是NSNumber *类型的分数?或者它只是一个普通的浮动/双?什么行给出了这个错误?也许再提供一些代码。