Как создать событие, когда выбранное время (через DatePicker) происходит в iPhone?

#iphone #objective-c #event-handling #datepicker #alarm

#iPhone #objective-c #обработка событий #datepicker #тревога

Вопрос:

я хотел создать настраиваемый будильник. Итак, я взял Datepicker. Теперь я хотел воспроизвести звук, когда происходит выбранное время через Datepicker.

Итак, может кто-нибудь, пожалуйста, скажите мне, какие классы или API использовать или какое-либо направление сделать? Как я должен сопоставить выбранное мной время с системным временем для создания события. я знаю, как воспроизводить звук. Остальные вещи — большой вопросительный знак для меня. Любая помощь будет заметна.

до сих пор я написал этот код, который просто показывает выбор даты, и при нажатии кнопки он показывает выбранное время. : P

Код:-

 **.h File**

#import <UIKit/UIKit.h>

@interface The420DudeViewController : UIViewController {

    IBOutlet UINavigationBar *titleBar;
    IBOutlet UIButton *setAlarmButton;
    IBOutlet UIDatePicker *selectTimePicker;

}

@property(nonatomic, retain) IBOutlet UINavigationBar *titleBar;
@property(nonatomic, retain) IBOutlet UIButton *setAlarmButton;
@property(nonatomic, retain) IBOutlet UIDatePicker *selectTimePicker;

-(IBAction)onTapSetAlarm;

@end



**.m file **

@implementation The420DudeViewController

@synthesize titleBar,setAlarmButton,selectTimePicker;

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
}

-(IBAction)onTapSetAlarm
{

    NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
    [timeFormat setDateFormat:@"HH:mm a"];

    NSDate *selectedDate = [[NSDate alloc] init];
    selectedDate = [selectTimePicker date];

    NSString *theTime = [timeFormat stringFromDate:selectedDate];

    UIAlertView *alert = [[UIAlertView alloc]
                          initWithTitle:@"Time selected" message:theTime delegate:nil cancelButtonTitle:@"YES" otherButtonTitles:nil];

    [alert show];
    [alert release];
//  [timeFormat release];
//  [selectedDate release];


}

- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}


- (void)dealloc {
    [super dealloc];
    [titleBar release];
    [setAlarmButton release];
    [selectTimePicker release];
}

@end
 

Ответ №1:

Вы должны заглянуть в UILocalNotification класс — это позволит вашему будильнику сработать, даже когда приложение закрыто / работает в фоновом режиме: https://developer.apple.com/library/ios/documentation/iPhone/Reference/UILocalNotification_Class/UILocalNotification_Class.pdf

Просто установите fireDate значение LocalNotification равным [selectTimePicker date] , а затем запланируйте его.

Комментарии:

1. Спасибо за ваш ответ… я проверю это сейчас и попробую… и надеюсь, что если это сделает мой день … я буду достаточно счастлив, чтобы принять ответ. 🙂

2. Если у кого-нибудь есть какой-либо учебник по подобным вещам, пожалуйста, дайте мне ссылку… Чао