2012-05-14 80 views
0

AI有一個滑塊,我將它保存爲用戶默認值,然後在不同的視圖中抓取該數字。然後,我將該浮點數轉換爲NSNumber以用於CiRadialGradient過濾器。UISlider值,轉換爲NSNumber,= -1.10311e-146

我喜歡節約的價值:

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

和檢索,如:

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

問題是抓住了滑塊值並將其轉換爲一個NSNumber的時候,我得到的值-1.10311e-146。我希望有不同的東西。

在我的故事板中,滑塊值設置爲0到100.無論我放置滑塊的位置,該值總是一個很大的負值。

任何想法?

乾杯。

+1

粘貼的代碼,在那裏你保存值 – 8vius

+0

它在。記錄滑塊值顯示它在100,並記錄檢索到的值顯示,這是節省的罰款。所以這是我猜測的轉換。 – mrEmpty

回答

1

我猜你登錄這樣的:

NSLog(@"%f", inRadius1); 

但實際上一個NSNumber是一個Objective-C的對象,所以你應該使用%@:在休息

NSLog(@"%@", inRadius1); 
+0

我正在用%f記錄滑塊值,但是正在用%@記錄NSNumber。用%g記錄它給我0. – mrEmpty

+0

啊,算出來了。我正在保存slider.value,而不是該值的NSNumber版本。將該值轉換爲NSNumber,並保存並處理該問題。謝謝你讓我重新看。將此標記爲已回答,並在8小時內寫下我的更改,之前不允許這樣做:) – mrEmpty