iOS本地通知错误

时间:2013-04-29 04:23:48

标签: ios timer notifications alert

我有这段代码:

UILocalNotification *notification = [[UILocalNotification alloc] init];
[notification setAlertBody:@"This is a message"];
[notification setFireDate:[NSDate dateWithTimeIntervalSinceNow:10]];
[notification setTimeZone:[NSTimeZone defaultTimeZone]];
[application setSchedualLocalNotifications:[NSArray arrayWithObject:notification]];

这在AppDelegate.m(-(void) applicationDidEnterBackground:­(UIApplication *)application)中可以正常使用,但在ViewController中不起作用。我希望当用户点击按钮时会发生这种情况,因此我需要在ViewController而不是AppDelegate中使用此代码。如何更改此代码,以便它可以在ViewController中执行相同的操作!非常感谢!

2 个答案:

答案 0 :(得分:1)

嗯,获取当前的应用程序对象

[[UIApplication sharedApplication] setSchedualLocalNotifications:[NSArray arrayWithObject:notification]];

答案 1 :(得分:0)

以下链接显示我们只能在AppDelegate文件中创建和安排本地通知:

http://developer.apple.com/library/ios/#documentation/iPhone/Reference/UILocalNotification_Class/Reference/Reference.html

以下方法: 的UIApplication scheduleLocalNotification:  或presentLocalNotificationNow:

但是这里的问题是你总能获得AppDelegate的实例并调用这些方法: MyApplicationDelegate * appDelegate =(MyApplicationDelegate *)[[UIApplication sharedApplication] delegate];

然后调用 - [appDelegate presentLocalNotificationNow:LOcalnotificaton]