2015-05-24 61 views
1

在此之前刪除UItableview中的單元格值我使用以下代碼,它的工作原理應該如此....但現在它給了我一個錯誤。該錯誤:不能援引「deletedObjects」類型的參數列表「(NSManagedObject)」 以下行:xcode 6中的代碼不再在xcode 6.3.1中工作

context.deletedObjects(results[indexPath.row] as NSManagedObject) 

如何解決這一問題? 在所涉及的功能的代碼:

 let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "Default") 
      var appDel = (UIApplication.sharedApplication().delegate as! AppDelegate) 
      var context = appDel.managedObjectContext 
      var request = NSFetchRequest(entityName: "UserCholesterol") 
      request.returnsObjectsAsFaults = false 
var results: NSArray = context!.executeFetchRequest(request, error: nil)! 
     context.deletedObjects(results[indexPath.row] as NSManagedObject) 

     context!.save(nil) 
     totalEntries = totalEntries - 1 
     tblLog.reloadData() 
+0

我很懷疑'context.deletedObjects()'在Xcode以前的版本工作。它可能已編譯過,但它並沒有刪除任何Xcode/Swift版本中的任何對象。 –

回答

0

刪除管理對象與context.deleteObject(anObject)完成。試試這個:

context.deleteObject(results[indexPath.row] as NSManagedObject) 
0

deletedObjects只是一個NSManagedObjectContext屬性,而不是method.But有一個名爲- deleteObject:方法。

嘗試更換到這行代碼:

context.deleteObject(results[indexPath.row] as! NSManagedObject) // in Xcode 6.3 and above,you have to add ! after `as` keyword. 
+0

感謝你們拯救我的一天..有時我只想回滾到以前版本的xcode。我鍵入上下文!.deleteObject(結果[indexPath.row]爲!NSManagedObject)並且所有的錯誤消失了。我非常懷疑升級到6.3.2 ... –