问题是取消选择de selectedSegmentIndex:“UISegmentedControlNoSegment”别名“-1”。
其他状态(0,1,2等),我可以存储为整数并使用
进行检索carTypeSegmentedControl.selectedSegmentIndex = [defaults integerForKey:@"typeOfCar"];
但是-1不是NSInteger。
我还尝试从NSUserdefaults中删除Integer,但请求将返回“0”,这是不可接受的。
那么,还有另一种简单的方法吗?
答案 0 :(得分:2)
-1是一个整数,它是一个负整数。您应该能够将其存储在NSUserDefaults中。
答案 1 :(得分:2)
您需要使用NSNumber
,它是常见数字和布尔类型值的对象表示,例如设置:
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:-1] forKey:kDefaultCarSegmentedControlState];
要检索:
NSInteger defaultCarSegmentedControlSelectedIndex = [[[NSUserDefaults standardUserDefaults] objectForKey:kDefaultCarSegmentedControlState] intValue];
答案 2 :(得分:0)
你是对的Ben,-1是一个整数。它毕竟是存储的。我做了一个NSLog。愚蠢我没试过。我没有找到明确的文件。
所以我的问题可能就在某处。
我猜你的答案也有效,Alex。
感谢您的帮助