2011-12-06 8 views
0

最初のポストと最初のiPhoneアプリが作っているので、n00bの間違いをお許しください。アラームを起動するのに問題があります。私は、コードの要点として、Datepickerとボタンを持っています。 .hファイルはこちらiPhoneアラームをアクティブにして音を出す

@interface Alarm : UIViewController 

@property (retain, nonatomic) NSDate *alarm; 
@property (retain, nonatomic) IBOutlet UIButton *sleepButton; 
@property (retain, nonatomic) NSTimer *timer; 
@property (retain, nonatomic) IBOutlet UIDatePicker *timePicker; 

- (IBAction)startAlarm:(id)sender; 
- (void)checkAlarm; 

@end 

ここに.mファイルがあります。

- (IBAction)startAlarm:(id)sender 
{ 
    self.alarm = [self.timePicker date]; 

self.timer = [NSTimer scheduledTimerWithTimeInterval:(1.0) target:self selector:@selector(checkAlarm) userInfo:nil repeats:YES]; 
{ 

- (void)checkAlarm 
{ 
    // alarm is reached 
    if ([NSDate date] == self.alarm) 
    { 
     // rest of code goes here 
    } 
{ 

私も音を作り、私はそれを行う方法についてのいくつかのガイダンスを得ることができますので、もしそれが、自分自身を繰り返し作り方が分からない、それは素晴らしいことです。ありがとう!

if ([NSDate date] == self.alarm) 

日付は、ミリ秒の分解能を持ち、そしてあなたのタイマーは1秒に1回発射する - 彼らはかなりスリムです完璧に揃えるチャンス:

+0

この機能はiOS時計アプリに組み込まれていませんか? –

答えて

0

問題はここにあります。

代わりに、あなたは確認する必要があります:

if ([[NSDate date] compare: self.alarm] == NSOrderedDescending) 

をアラームの日付が渡されたかどうかを確認します。

関連する問題