多个uiswitch与本地通知重复间隔,在我的应用程序中不太喜欢彼此

时间:2013-01-28 13:42:42

标签: ios objective-c notifications uilocalnotification uiswitch

所以,这是我的生活故事,我似乎无法弄清楚出了什么问题!!!

我有一个已经在商店中的应用程序,它有一个奇怪的问题,它会给出不同的结果。

我的主视图中有两个开关都控制重复间隔的本地通知。

现在我已经设置了正确的开关并准备好了。 (我猜)。 但是,当安排重复间隔时,必须在用户决定不接收通知时再次取消它们。所以,我的开关编码如下:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
BOOL switchOn = [userDefaults boolForKey:@"switchO"];

if (switchOn) {

    [self Firstnotif];
    [self Secondnotif];
    [self Thirdnotif];
    [self Lastnotif];

}

else {   [[UIApplication sharedApplication] cancelAllLocalNotifications];    }


 BOOL switchOn2 = [userDefaults boolForKey:@"switchO2"];

if (switchOn2) {


[self Firstnotif];


}

else {   [[UIApplication sharedApplication] cancelAllLocalNotifications];    }


}

注意我在两个开关中都使用了Firstnotif方法两次。

我的问题是:

  • 我曾经只有一个开关,当他们打开第一个开关接收这四个通知时,不适用于所有用户。所以我告诉他们关掉它,按主页按钮,再次打开应用程序再打开它和主页按钮。有用!!!!为什么呢?

  • 现在,由于我添加了另一个开关,因此出现了新的混合结果。 第二个开关只用它的重复间隔发出第一个通知。有人说它有效,有些人说没有。其他人说,当我转向另一个时它会做而不做。他们面临的是什么?

我的问题,

我是否以正确的方式取消重复间隔?

我的应用可能出现什么问题?如果需要,我会为您提供更多代码。

我感谢您的投入,因为我花了几周的时间没有运气。

1 个答案:

答案 0 :(得分:1)

我解决了!

我替换了applicationDidBecomeActive方法下的取消请求,并删除了我的else

猜猜是什么?有效!!! :)