3

ローカル通知を使用して目覚まし時計アプリを作成しようとしましたが、iOS 5以降の通知センターに入る代わりにアラートを表示する必要があったため、うまくいきませんでした。

これまで私はnstimerとその機能に非常に苦労していたので、誰かが助けてくれるかどうか疑問に思いました。

ユーザーが(UIDatePickerを介して、時間のみを使用して)時間を選択したときに、アラートが正確にこの時間に表示されるようにしたいと思います。UIDatePickerから時間を取得する方法を理解しましたが、nstimerの起動関数を適切に設定する方法がわかりません。これは私がこれまでに試みたことです、誰かが助けることができれば...大いに感謝します。ありがとうございました

例(私が言った特定の時間とは対照的に、毎秒関数に入り続けます...私が望むものではありません):

NSDate *timestamp;
NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease];

[comps setHour:2];
[comps setMinute:8];
timestamp = [[NSCalendar currentCalendar] dateFromComponents:comps];

NSTimer *f = [[NSTimer alloc] initWithFireDate:timestamp
                             interval:0
                               target:self
                             selector:@selector(test)
                             userInfo:nil repeats:YES];

NSRunLoop *runner = [NSRunLoop currentRunLoop];
[runner addTimer:f forMode: NSDefaultRunLoopMode]; 
4

1 に答える 1

2

@Nateが変更を言ったように

NSTimer *f = [[NSTimer alloc] initWithFireDate:timestamp
                             interval:0
                               target:self
                             selector:@selector(test)
                             userInfo:nil repeats:YES];

NSTimer *f = [[NSTimer alloc] initWithFireDate:timestamp
                             interval:0
                               target:self
                             selector:@selector(test)
                             userInfo:nil repeats:NO]; //<-- Change here
于 2012-07-02T09:18:45.460 に答える