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

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

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

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

Код:-

**.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

person mAc    schedule 27.10.2011    source источник


Ответы (1)


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

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

person Benjie    schedule 27.10.2011
comment
Спасибо за ваш ответ ... я проверю его сейчас и попробую ... и надеюсь, что если это сделает мой день ... я буду достаточно счастлив, чтобы принять ответ. :) - person mAc; 27.10.2011
comment
Если у кого-то есть учебник для подобных вещей, дайте мне ссылку ... Чао - person mAc; 27.10.2011