請考慮以下情形。音頻流,NSTimer和解析JSON場景
播放音頻流的應用程序。然後是現在播放視圖,其中包含藝術家和歌曲標題,當前歌曲的專輯封面以及製作人名稱,並附有小說明和圖片。所有這些都來自JSON文件。
爲了知道何時JSON文件確實發生了變化,還有一個額外的.crc文件,其中包含上次更改的JSON的時間戳/代碼。當.crc的內容發生變化時,是時候更新JSON了。
所以我有一個NSTimer每10秒觸發並打開一個NSURLConnection,最終返回.crc文件的數據。在connectionDidFinish我檢查代碼是否從前一個更改,如果條件爲真,那麼我加載JSON並最終解析其數據。
我的問題是,如果這個10sec的NSURLConnection定時器對於應用程序來說太多了,請記住有不斷的音頻流播放。當然,當應用程序進入後臺時,計時器會停止。然後,當應用程序進入前臺時,我強制加載JSON以更新視圖並再次啓動定時器。
此外,正在播放的視圖從根視圖控制器分配給self.nowplayingview ivar(僅創建一次),self.nowplayingview被推送到堆棧。這樣,當JSON發生變化時,我可以從根視圖更新正在播放視圖。
您是否認爲我應該每次創建並推送「正在播放」視圖?
在此先感謝。
你會更好的使用NSThread而不是NSTimer,我認爲,以便更新JSON的代碼仍然在後臺執行。 –
@ RichardJ.RossIII - 謝謝我會嘗試NSThread,看看它是怎麼回事。 – Dimitris