Iphone 从设置包中检索切换开关值

Iphone 从设置包中检索切换开关值,iphone,objective-c,ios,xcode,settings.bundle,Iphone,Objective C,Ios,Xcode,Settings.bundle,我需要在第一个ViewController的UIImageView(称为background)中加载不同的背景图像,这取决于设置包中切换开关使用的设置 In-ViewController将显示在ViewController.m中 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; id toggleSwitchValue = [defaults objectForKey:@"PSToggleSwitchSpecifi

我需要在第一个ViewController的UIImageView(称为background)中加载不同的背景图像,这取决于设置包中切换开关使用的设置

In-ViewController将显示在ViewController.m中

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
id toggleSwitchValue = [defaults objectForKey:@"PSToggleSwitchSpecifier"];
BOOL boolToggle = [toggleSwitchValue boolValue];

// setting custom back for viewController
if (boolToggle == YES) {
    [self.backGround setImage:[UIImage imageNamed:@"1.png"]];
    NSLog(@"YES");
} else if (boolToggle == NO) {
    [self.backGround setImage:[UIImage imageNamed:@"2.png"]];
    NSLog(@"NO");
}
我没有警告,但无法设置要使用的图像


有什么解决方法吗?

请确保您的IBOutlet连接正确,并使用[background setImage:]代替点符号。如果两者都不起作用,则说明您的逻辑或用户默认值的设置/读取有问题。

请确保,如果视图是从nib加载的,则在viewDidLoad中或之后修改视图。

我相当肯定他确实用此方法实例化了他的视图控制器(除非目标c不是FIFO语言…?)。这可能是因为他没有实例化他的后台属性。我将所有自定义代码从这里移到了-viewwill出现在ViewController.m中,但没有任何更改。NSLog显示我每次都在else if.CoDaFi中,我在代码和IB中为这个背景UIImageView设置了一个IBOutletchecked@CodaFi:我以为代码在appDelegate中,我看到它在他的viewController中,我编辑了我的答案。我又检查了一次,IB中的所有内容都连接正确。代码与我在这里展示的相同,但每次我都有boolToggle等于NO,所以只加载“2.png”。id toggleSwitchValue=[defaults objectForKey:@“PSToggleSwitchSpecifier”]中是否有错误;布尔布尔切换=[toggleSwitchValue布尔值],因为toggleSwitchValue是一种id类型,我把它改为BOOL?@Alexey ViewDidAspect可能不会出现问题,尽管ViewWillAspect会更传统一些。尝试在if语句之前设置断点,并在调试器中键入
po self.backGround