2011-05-11 280 views

回答

3

因爲它被設置爲數字1,作爲整數,浮點數或布爾值,而不像NSControl,NSUserDefaults不會嘗試將值轉換爲您請求的類型。

改爲使用objectForKey:。這將返回對象,無論它是否是字符串或其他。

如果您然後想要數字解釋它,請詢問對象的其integerValuefloatValueboolValue。無論對象是NSString還是任何類型的NSNumber,這都可以工作。 (如果是數據,日期,數組或字典,這將引發異常,您可能需要檢測這些值並在此情況下替換默認值。)

如果您特別想要字符串,請檢查是否該對象是一個數字,並詢問它是否爲stringValue。 (同樣,您可能也想要處理接收數據,日期,數組或字典)。

+0

Hm this returns(null)too。 – 2011-05-11 20:31:36