次のシナリオを検討してください。オーディオストリーミング、NSTimer、およびJSONシナリオの解析
オーディオストリームを再生するアプリです。次に、アーティストと曲のタイトル、現在の曲のアルバムアート、プロデューサーの名前、小さな説明と写真が並んでいるNow Playingビューがあります。これらはすべてJSONファイルから来ています。
JSONファイルが実際に変更されたときに知るためには、JSONを変更し、最後のタイムスタンプ/コードが含まれている余分な.crcとファイルがあります。 .crcの内容が変更されたら、JSONを更新する時間です。
だから私はNSTimerは、すべて10秒を発射あり、将来的に.crcとファイルのデータを返すNSURLConnectionを開きます。 connectionDidFinishでは、コードが前のコードから変更されているかどうかを確認し、条件が真であればJSONをロードして最終的にデータを解析します。 NSURLConnectionと、この10秒のタイマーが一定のオーディオストリームの再生があることを念頭に置いた?アプリのために多すぎると、ここ
私の質問です。もちろん、アプリがバックグラウンドに入ると、タイマーは停止します。そして、アプリケーションがフォアグラウンドに入ると、私はJSONをロードして、ビューを更新して、再びタイマーを開始します。
はまた、現在再生中のビューは、ルートビューコントローラから(一度だけ作成)self.nowplayingviewのIVARに割り当てられ、self.nowplayingviewはスタックにプッシュされます。こうすることで、JSONに変更があったときに、Now Playingビューをルートビューから更新できます。
いつでも再生中のビューを作成してプッシュする必要があると思いますか?
ありがとうございます。
JSONを更新するためのコードがまだバックグラウンドで実行されるようにあなたは、私が思うNSTimerよりNSThreadを使用したほうが良いでしょう。 –
@ RichardJ.RossIII - ありがとう、私はNSThreadを試して、それがどうなるか見てみましょう。 – Dimitris