2011-06-29 6 views
1

問題とそのアプローチ方法について考えてください。 私は通常、ウェブに接続するように要求しないアプリを持っています(ユーザーがアプリ内からメールを送信しない限り)。 私はいつもユーザーに知らせたいが、すべての時間ではなく、起動時にニュースや日々のヒントなどを言う。 これにどのようにアプローチしますか? 起動時にuialertviewをポップアップするだけですか?そして、私はそれがいつもポップアップするのを防ぎ、私が何か新しいことを言う時はいつでもポップアップするのですか?UIAlertViewを使用しているアラートユーザー

私はここで少し失われており、どんな助けにも感謝します。

おかげ

+0

リアルタイムシナリオをいくつか用意できますか?今あなたはポップアップを表示する必要があることをどのように知っていますか? – Deeps

+0

新しいことがあれば、アラートビューを使用できます。私はもっ​​と良い方法があるとは思わない。 – karim

+0

最初のUIAlertを表示するときは、NSUserDefaultに日付を保存します。それがトリガーされると、現在の値+あなたの希望の時間経過に日付をリセットし、UIAlertを再びポップします。 App Delegate didEnterForegroundメソッドの値を確認できます。 – Rog

答えて

0

あなたは新しいものをサーバから来るについてユーザーに警告するためにプッシュ通知を実装することができます....

+0

には、回答に関する問題がありますか? – iMOBDEV

+0

ええ、申し訳ありませんが、コメントになる。プッシュ通知は悪い考えです。どうして?あなたはいつでもあなたのアプリからのニュースやヒントをプッシュしたくないからです。新しいことがあれば、彼は自分のアプリの起動時に "ポップアップ"したいと思う。 –

+1

UIAlertメッセージはアプリケーションに「ハードコード」されなければならないので、プッシュ通知はおそらく長い目で見れば分かりますが、プッシュすればいつでも好きなものを送信できます。彼らは実際にハードコーディングされている必要はないが、プッシュ通知は間違いなくより実用的であると言っている[編集]。 – Rog

1

アラートビューを表示するために近づくと時間を宣言し、通知を上昇することは良いアイデアですjigneshが述べたように。 アラートを表示する状況を示すメソッドまたはシナリオに通知を追加し、状況が発生したときにalertViewを表示するだけです。

はそれをu

TNQ

+0

私は特定の日付または一定の日付間隔を持たないため、実際には日付を使用したくありません。私はむしろ毎回ウェブをチェックするアラートビューを持っていて、そこに何かが表示されていて、それが表示されない場合は表示されません。それが意味をなさないならば... –

+0

私の意図も同じです。私はBOOL変数を使用していると思います。更新が見つかるとすぐに更新が見つかったかどうかを判断できます。BOOLはいを作成し、BOOL警告が出された後、BOOLをNO.butとしてWebを頻繁に検索するメソッドまたはクラスが存在するはずです。 – Dinakar

0

役に立てば幸い[OK]を、ここに私の考えです。

サーバー上にフィードが必要です。これはあなたに時間を送ることができます。送信する時刻は、最後に新しいメッセージを確認した時刻になります。サーバー上のスクリプトは、送信した後にすべてのメッセージを返す必要があります。

アプリでは、送信したい新しいメッセージ(送信した時間の後)をすべて含む応答(おそらくplistまたはxml形式で)が表示されます。この時点で、現在の時刻を記録します。これにはNSUserDefaultを使用する必要があります(次回はサーバーからすべてのNEWメッセージを取得できます)。また、新しいメッセージをNSUserDefaultに入れたい(文字列の可変配列を使用する)。

アプリケーションの起動時にNSUserDefaultsをチェックして、メッセージがあるかどうかを確認します(if([[defaults messagesArray] count] > 0))。 UIAlertViewがある場合(一度に1つ)そして、[alert show]を実行した後、配列からそれらを削除したいとします。

ちょうど私の頭の上から考えて、それが意味をなさない場合は教えてください! :p