iOS在NSUserDefaults中存储UISegmentedControl选项

zeb*_*bra 3 iphone nsuserdefaults uisegmentedcontrol

有没有办法将UISegmentedControl值存储到NSUserDefaults中?我应该像NSUserDefaults中的整数值一样使用它吗?

Joh*_*ker 5

你只需使用selectedSegmentIndex:该方法UISegmentedControl,然后使用setInteger:forKey:方法内NSUserDefaults的.这个原因(正如你在你的问题中暗示的那样)是selectedSegmentIndex方法返回一个NSInteger.(其全方法的签名是:@property(nonatomic) NSInteger selectedSegmentIndex)

当您重新加载应用程序时,您可以将相应的段设置为活动状态(再次通过selectedSegmentIndex).

但是,除非您设置默认值(通过Interface Builder或以编程方式),否则应根据UISegmentedControlNoSegment常量检查返回的selectedSegmentIndex整数,以确保您没有尝试存储实际上"无选择"的内容.