iOS 教學

iOS 教學, iOS進階

iOS 儲存資料與 SQLite 使用範例

資料儲存至硬碟的必要性 在 iOS App 開發時,有許多情況會需要存些東西在硬碟裡: 登入資訊 對於需要登入的App,為避免每次使用都要重新登入一次,就會需要把 Access Token 甚至是帳密存進硬碟裡。當然為了安全性考量,系統應該避免直接將密碼儲存,而應該設計 Access Token 的作法比較理想。 檔案暫存 已經下載過的圖檔或是資料檔,避免重覆下載浪費頻寬,就需要存在硬碟裡。對於使用非吃到飽的資費方案的使用者,這是很實用的功能。 資料庫暫存 對於許多需要作多面向的搜尋的 App 而言,每一個搜尋都要跟 Server 尋問會導致執行速度低落,以及頻寬的浪費。此時即可將問到的資料都先行存在硬碟裡,搜尋時先搜尋硬碟裡的資料,同時向 Server 尋問是否資料有更新。 多步驟程序 有許多時候,有些任務會需要依序執行數個步驟,比如依順序向伺服器發出多次命令,如果能將已執行完成的命令結果存在硬碟裡,可以避免重複命令,因此能減少頻寬,增進執行效率。

iOS 教學, iOS進階

內含動態高度文字區塊的 TableViewCell 新舊作法

舊作法(iOS7以前) 在 iOS7(含)之前,內含動態高度文字區塊(UITextView)的 UITableViewCell 的作法頗為複雜: 1. 使用 Auto Layout,將TextView四邊邊界設為0 2. 在 cellForRowAtIndexPath 裡回傳 cell 到這裡與一般程式並沒有什麼不同。 – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { OldDynamicCell *cell =