gpt4 book ai didi

iphone - ViewController 上的本地通知

转载 作者:行者123 更新时间:2023-11-28 20:24:06 25 4
gpt4 key购买 nike

我在 ViewController.m 中有以下代码:

-(void) checker {
UILocalNotification *notification = [[UILocalNotification alloc] init];
[notification setAlertBody: @"Im your local notification"];
[notification setFireDate: [NSDate dateWithTimeIntervalSinceNow: 1]];
[notification setTimeZone: [NSTimeZone defaultTimeZone]];
[UIApplication setScheduledLocalNotifications: [NSArray arrayWithObject: notification]];
}

最后一行产生警告:

Class method '+setScheduledLocalNotifications' not found (return type defaults to id)

并且在处理时出错。如何实例化通知?正如我所说的,我是新手,如果您能提供完整的答案,我们将不胜感激。

编辑:我有一个计时器,它每 60 秒重复一次,并调用一个发出通知的函数。

timer = [NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(checker) userInfo:nil repeats:YES];

/* ... */
-(void)checker {
NSLog(@"Notification routine");
UIApplication* app = [UIApplication sharedApplication];
NSArray *oldNotifications = [app scheduledLocalNotifications];

// Clear out the old notification before scheduling a new one.(if needed)
if ([oldNotifications count] > 0)
[app cancelAllLocalNotifications];

// Create a new notification.
UILocalNotification* alarm = [[[UILocalNotification alloc] init] autorelease];
if (alarm) {
alarm.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
alarm.timeZone = [NSTimeZone defaultTimeZone];
alarm.repeatInterval = 0;
alarm.alertBody = @"Msg to show";
[app scheduleLocalNotification:alarm];
}
}

我可以看到日志每分钟只触发一次,但 oldNotifications 计数没有增加。

最佳答案

[[UIApplication sharedApplication] scheduleLocalNotification:notification];

错误消息中的“+”表示它正在尝试调用类方法而不是实例方法。 [UIApplication sharedApplication] 调用将返回允许您将该方法作为实例方法调用的应用程序对象的单例实例。

您还应该阅读 UIApplication 的文档.您只需使用通知对象调用 scheduleLocalNotification: 即可安排它。这将允许您释放对象的内存,因为 schedule 方法将复制对象。

关于iphone - ViewController 上的本地通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14738395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com