Just My Life & My Work

Posts tagged ‘teach’

[iOS] 三層級顯示影像 (Three-Level Display Image)

很多時候在APP顯示的影像是來自網路,這時候我們會想到,若沒有網路時還想顯示影像該怎麼辦?解決方法當然就是在有網路的時候,把目標影像給儲存到手機端,下次顯示時直接取用。

然而此時出現另一個問題,就是從手機端顯示影像,居然會讓體驗變得頓頓的卡卡的,感覺十分不舒服⋯⋯解決辦法就是把影像快取起來,下次顯示時直接拿來用。

之所以頓頓卡卡是因為讀取自「硬碟」,網路下載會先儲存在「記憶體」,前者是在主程序讀取影像,因來源是硬碟,所以不僅耗時較久,連帶又會卡UI;後者在非主程序下載,當下載完才會切換到主程序顯示,來源又是在記憶體,讀取速度較快,因此就不會卡卡頓頓的。

於是我們就發展出三層級顯示影像 (Three-Level Display Image),也就是從網路(伺服器)下載影像到手機端(硬碟),再將影像快取(記憶體)起來顯示

上一篇影像快取 (Image Cache)我的用法是,從網路下載影像,接著快取起來顯示,跳過儲存到手機端這個步驟,在此我用簡單的if-else說明如何實作!

(繼續閱讀…)

[iOS] 影像快取 (Image Cache)

時常需要從網路上抓取影像載入APP裡頭,尤其是在TableView的cell頻繁消失又出現的狀況,會不停地重複同樣(下載顯示)的動作,這樣子做不是不行,然而使用者體驗會有點差,儘管已經用多執行緒去抓圖和載圖,操作上還算相當順暢,然而使用者還是會看到影像怎麼這時候消失變出現,接著又滾回去又從消失變出現,使用者體驗實在相當糟糕⋯⋯

於是想當然爾,我們會想要把已經載入的圖給暫存起來,下次要顯示時直接抓暫存在記憶體中的影像快取 (Image Cache)即可!
(繼續閱讀…)

[iOS] 註冊Observer製作播放狀態改變時要執行的動作

最近一直在研究MPMoviePlayerController,才發現內建的功能不是很完全,若要做到令人滿意的境界,只有客制化一途~

Register observer when player finishes displaying (繼續閱讀…)

[iOS] 註冊Observer製作播放結束時要執行的動作

最近一直在研究MPMoviePlayerController,才發現內建的功能不是很完全,若要做到令人滿意的境界,只有客制化一途~

Register observer when player finishes displaying

(繼續閱讀…)

[iOS] 指定時間本地通知 (Local Notification in Particular Time)

以為指定時間本地通知 (Local Notification in Particular Time)實作有難度,不過實際瞭解之後,哇哈~原來那麼簡單!

Local Notification in Particular Time

時間到,從上方出現我所設定的訊息!

(繼續閱讀…)

[iOS] 人臉偵測 (Face Detection)

回顧之前使用OpenCV所做的人臉偵測 (Face Detection),當時只是覺得這門技術好厲害。如今我感興趣的平台是行動裝置,趁此拿來把玩一下,說不一定可以想出有趣的應用!

ios face detection可愛學妹的相片來作實驗,效果好又賞心悅目:D~
(繼續閱讀…)

[Objective C] 多重排序 (Multiple Sort)

剛好用到多重排序 (Multiple Sort),於是就來練習一下,沒想到Objective C都幫我寫好了!我只要會用就好⋯⋯還記得當時寫C/C++的ACM題目,bug殺好久~知道怎麼實作之後,拿來用更有感覺:)~

(繼續閱讀…)

[iOS] 消除特定字元 (Eliminate Specific Characters)

有時候我想要消除一段字串裡的某些字元,比如說我要消除「空白字元」、「數字」或是「字母」等等,甚至任何我想消除的多個字元(如:「123xyzˊ_>ˋ<;」),可以怎麼做呢?只要把想消除的字元通通都丟到集合中,呼叫內建的方法即可達成!

學會消除特定字元 (Eliminate Specific Characters),以後我就不用慢慢刪除空白字元啦~

(繼續閱讀…)

[iOS] TextField 輸入就判斷使否要改變值

TextField每次輸入就判斷使否要改變值,有此需求是因為我想限制使用者輸入某些字元,很簡單地想:每次輸入字元都去檢查。有協定方法可以直接來實做。

(繼續閱讀…)

[iOS] 使用 NSUserDefaults

很常使用到輕量級儲存方式NSUserDefaults,在此記錄一下它基本的使用方式。我的例子是要做一個switch,控制是否能夠編輯。然後很簡單地宣告property,然後實作settergetter

(繼續閱讀…)

標籤雲