1

我对 Objective-c 完全陌生,谷歌搜索这个问题 2 小时让我没有任何有用的信息。事实上,我比刚开始时更加困惑。我也有一本为 iOS 6 更新的教科书,但它对这个问题完全没用。

我只是希望用户在我的应用程序中输入某个时间(可能来自日期选择器,我还没有决定),然后稍后收到通知(例如,在用户输入时间前 5 小时)。

下面的示例图片说明了我的意思。假设用户在上午 2:09 输入,然后在晚上 9:09(5 小时前),他会收到图示通知。

我从这个来源找到了这段代码,但我什至不确定这是否是我需要的:

// Add an observer that will respond to loginComplete
[[NSNotificationCenter defaultCenter] addObserver:self 
                                             selector:@selector(showMainMenu:) 
                                                 name:@"loginComplete" object:nil];


// Post a notification to loginComplete
[[NSNotificationCenter defaultCenter] postNotificationName:@"loginComplete" object:nil];


// the function specified in the same class where we defined the addObserver
- (void)showMainMenu:(NSNotification *)note {
    NSLog(@"Received Notification - Someone seems to have logged in"); 
}

该代码似乎更适用于 NSNotificationCenter。它所做的只是在按钮按下事件后将消息打印到控制台。

有人可以修改给定的代码,或者提供我如何获得我想要的结果的示例。

您不必为我编写我的应用程序。这不是我要的。只需编写示例代码或指向它们的链接。

重申一下,我希望用户在控件中输入时间,应用程序会在该时间之前的几个小时内确定时间,并在那时发出通知。我可以弄清楚控件和时间的东西,但通知的东西让我很困惑。这就是我需要帮助的地方。

如果有人幸运地找到了一个很好的教程,那肯定也会对我有所帮助。

鉴于很难通过 Google 找到有关此问题的帮助,并且这可能是许多人的常见问题,因此任何数量的帮助都可能不仅使我自己受益,而且其他看到这一点的人也会受益。

提前致谢。

通知

4

1 回答 1

5

你必须使用UILocalNotification它。这是教程

     UILocalNotification *notification = [[UILocalNotification alloc]init];
    notification.fireDate = self.datePicker.date;
    notification.alertBody = "Wake up!!";
    notification.soundName = UILocalNotificationDefaultSoundName;     
    notification.alertAction= @"view details";

    [[UIApplication sharedApplication]scheduleLocalNotification:notification];
    [notification release];

这将为您的应用安排本地通知。如果您的应用程序在后台,系统本身会发出警报消息。但是If the application is foremost and visible when the system delivers the notification, no alert is shown, no icon is badged, and no sound is played. However, the application:didReceiveLocalNotification: is called if the application delegate implements it.你必须对通知做出回应。

于 2013-02-20T06:31:42.880 回答