0

ユーザーがログインした後、アプリは会議のリストを取得し、として追加しますUILocalNotification

ユーザーがアプリを起動してログインするたびに、これが発生します。

これを何度も繰り返す場合、次のうちどれがより良い「実践」です。

  1. ダウンロードした会議を循環しながら、すべての場所の通知をプルして、scheduledLocalNotificationsその会議のローカル通知がすでに存在するかどうかを確認します。もしそうなら、それを追加しないでください。

  2. cancelAllLocalNotificationsすべてのローカル通知をクリアして追加するために使用します。

#1が正しい方法のようですが、別の会議と同時に会議を開催した場合(それが発生した場合)、会議は既に追加されたものと見なされ、新しい会議は追加されないのではないかと心配しています。

4

2 に答える 2

1

個人的には、場所をプルダウンして確認します。すべてを破壊してすべてを再作成するのではなく、私にはきちんと感じます。繰り返しになりますが、ループしてチェックする必要がないため、#2の方が(無視できるほど)高速になる可能性があります。

2つの会議が同時に行われる場所で#1が一致しないことが心配な場合はUILocalNotification、プロパティを介してオブジェクトに独自の一意の識別子を追加しuserInfo、これをクエリして、会議が同じイベントであるかどうかを確認できます。通知の時間。

于 2012-11-21T21:47:32.463 に答える
0

会議ごとに一意のトークン(UUIDなど)がある場合は、二重予約の状況を回避できます。このトークンを通知のuserInfoディクショナリに入れると、通知の対象となる会議を正確に確認できます。この会議にすでに通知がキューに入れられているかどうかを判断するための比較は、会議の時間が変更されていないことを確認して、この一意のトークンを使用して行うのが最適です。

于 2012-11-21T21:47:24.883 に答える