iOS 開發快速導引:TableView 和 CoreData【草】

全部列表式的數據都是用 TableView 顯示的html

預覽

待補充ios

原料

  • NSFetchedResultsController
    用來操做 NSFetchRequst,有執行查詢,監聽變化,數據緩存等功能 
    • NSFetchRequest
      用來指定用什麼條件查哪一個表,結果集怎麼排序 
      • NSSortDescriptor
        排序方式 必須 
      • NSPredicate
        謂語,其實就是查詢條件,可選 
  • UITableView 
    • UITableViewController
    • UITableVIew 必須指定 DataSource,只要沒特殊要求直接用這個 ViewController 就行了,這個類同時聲明瞭下面兩個協議
    • UITableViewDataSource
      顧名思義這個協議要實現數據源相關特性 
    • UITableViewDelegate
      負責 TableView 的表現和動做的協議 

步驟

  1. Storyboard 裏拖一個 Table View Controller,這個 Table View Controller 自帶一個 TableView 還有一個 TableViewCell
  2. 定義一個 UITableViewController 的子類,在 Storyboard 裏把剛纔那個 Table View Controller 的 Class 設爲這個子類
  3. 聲明一個 NSFetchedResultsController 私有變量,在 viewDidLoad 裏初始化。
  4. 重寫兩個方法
  5. numberOfRowsInSection 返回指定分組的行數,NSFetchedResultsController 知道答案
  6. cellForRowAtIndexPath 經過 NSFetchedResultsController 獲取到數據後設定單元格的顯示值,而後再返回這個單元格
  7. 能夠冒煙測試一下了

代碼片斷

只有 cellForRowAtIndexPath 的常規寫法有些特別,這裏只貼出它的例子編程

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath緩存

      -> UITableViewCell {app

        var cellId = "cellId" //屬性編輯器裏 給 TableViewCell 設定的 Identifier 編輯器

        var cell = tableView.dequeueReusableCellWithIdentifier(cellId) as UITableViewCell?ide

        if cell == nil{測試

            cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: cellId)ui

        }spa

        cell!.textLabel?.text="取出的值"

        return cell!

    }

連接

相關文章
相關標籤/搜索