1

ローカル通知でユーザーに警告するピルリマインダーを作成する必要があります。ユーザーは、さまざまなパラメーターを使用してピルの時間を設定します。

  • 開始日
  • 終了日
  • 時間
  • 特定の平日

ローカル通知を使用してこれらのパラメーターを管理する方法について、いくつか疑問があります。

開始日:

OK、開始日はfiredateプロパティになります

終了日:

特定の日に繰り返しを停止するにはどうすればよいですか?ユニークな方法は、開始日から終了日までの範囲内で、繰り返しなしにすべての通知を作成することだと思います。

特定の平日

ユーザーが月曜日と金曜日を設定したい場合、毎週の繰り返しと利用可能な最初の「月曜日」/「金曜日」に等しい発火日を持つ2つの異なる通知でこれらの2日間を管理する必要がありますか?

4

1 に答える 1

2

開始日

はい、fireDateトリックを行います。

終了日

あなたが言ったように、あなたは範囲内で通知を作成することができます。プロパティを使用している可能repeatInterval性があるため、「終了日」を設定する別の方法が必要です。

特定の平日

はい、それはそれを行う方法です。独自の繰り返し間隔を設定することはできないため、月曜日に通知を設定し、金曜日に通知を設定することは問題ありません。

私の推薦

通知ではかなり特定の間隔を使用しているようです。プロパティには大きな制限があるため、スケジュールされた通知の64の制限にrepeatInterval達することなく、すべての通知を処理する方法を見つける必要があります(Appleのドキュメントを参照)。

これらはオプションです:

1.ユーザーが同時に64を超える通知をスケジュールしないと思われる場合は、範囲内のすべての通知をスケジュールします。ただし、ほとんどの場合、ユーザーが必要とする通知の数がわからないため、これは危険です。

2.別のオプションは、通知のキューを使用し、残っている通知の数を確認し、必要に応じてさらにスケジュールすることです。限界に達するのは本当に難しいので、この方法の方が優れています。ここでこれを行う方法を説明します。

于 2012-04-28T16:45:24.720 に答える