2015-07-19 36 views

回答

0

要檢查覈心數據庫是否爲空,您必須對要檢查的實體創建一個NSFetchRequest,並檢查請求的結果是否爲空。

您可以使用此功能檢查:

func entityIsEmpty(entity: String) -> Bool 
{ 

    var appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
    var context = NSManagedObjectContext() 

    var request = NSFetchRequest(entityName: entity) 
    var error = NSErrorPointer() 

    var results:NSArray? = self.context.executeFetchRequest(request, error: error) 

    if let res = results 
    { 
     if res.count == 0 
     { 
      return true 
     } 
     else 
     { 
      return false 
     } 
    } 
    else 
    { 
     println("Error: \(error.debugDescription)") 
     return true 
    } 

} 

希望這會有所幫助。

0

最簡單的方法是在你的表視圖數據源中處理這個。如果有0條記錄,則顯示與您所需信息不同的單元格。如果您願意,也可以隱藏表格視圖並顯示標籤。

numberOfRowsInSection中,檢查0並返回1。 (假設你沒有部分。)

let count = fetchedResultsController.fetchedObjects.count 
return count > 0 ?? count : 1 

然後,在cellForRowAtIndexPath請確保您顯示正確的信息。

if fetchedResultsController.fetchedObjects.count == 0 { 
    // initialize a different cell 
    return cell 
} 
// configure and return usual cell 
1
override func viewWillAppear(_ animated: Bool) { 
      super.viewWillAppear(animated) 
      if fetchedResultsController.fetchedObjects.count == 0 { 
      self.tableView.isHidden = true 
    } 
}