码迷,mamicode.com
首页 > 移动开发 > 详细

iOS的settings bundle中开关button(Toggle Switch)取不到值的问题

时间:2017-08-19 11:08:58      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:熊猫   点赞   状态   ack   csdn   元素   nes   tin   undle   

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;)


在Xcode7.2中设置App的settings bundle时发现当bundle元素类型为Toggle Switch时,在App里取不到其变化值.

当中Toggle Switch设置例如以下:

技术分享

在代码中以例如以下方式读取其值:

BOOL isWarp = [defaults boolForKey:kWarpDrive];
_warpDriveLabel.text = isWarp ?

@"Engaged":@"Disabled";

当中kWarpDrive定义例如以下:

#define kWarpDrive @"warp"

奇怪的是在settings中改变该开关button的状态,并不能在App中反应出来…确切的说,App中不管开关处在何种状态,总是读出NO值.

该App的settings bundle还有其它类型的元素,比方文本或多选栏,其它的元素都能够正常读出改变的值,只有Toggle Switch不能够.

遂改变策略在,App启动时先注冊其相应的值:

+(void)regDefaultsFromSettingsBundle{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSDictionary *dict = @{kWarpDrive:@(YES)};
    [defaults registerDefaults:dict];
    [defaults synchronize];
}

注意我仅仅注冊了kWarpDrive相应的值,其它的值并没有管.

然后在App中能够正常读出开关改变的值了,That’s All!!!

iOS的settings bundle中开关button(Toggle Switch)取不到值的问题

标签:熊猫   点赞   状态   ack   csdn   元素   nes   tin   undle   

原文地址:http://www.cnblogs.com/cxchanpin/p/7394830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!