一千萬個為什麽

搜索

如何在NSUserdefaults中存儲UISegmentedControle狀態

問題是取消選擇de selectedSegmentIndex:“UISegmentedControlNoSegment”別名“-1”。

其他狀態(0,1,2等),我可以存儲為整數並檢索

carTypeSegmentedControl.selectedSegmentIndex = [defaults integerForKey:@"typeOfCar"];

但-1不是NSInteger。

我還嘗試從NSUserdefaults中刪除Integer,但請求將返回“0”,這是不可接受的。

那麽,還有另一種簡單的方法嗎?

最佳答案

您需要使用 NSNumber ,它是常見數字和布爾類型值的對象表示,例如設置:

[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:-1] forKey:kDefaultCarSegmentedControlState];

要檢索:

NSInteger defaultCarSegmentedControlSelectedIndex = [[[NSUserDefaults standardUserDefaults] objectForKey:kDefaultCarSegmentedControlState] intValue];

轉載註明原文: 如何在NSUserdefaults中存儲UISegmentedControle狀態