将数据保存到核心数据实体

时间:2015-12-10 11:29:54

标签: swift

我正在尝试将默认记录插入到我的核心数据实体中,而tableview首次加载并检查实体中没有数据。 插入的数据很好,但导航到其他视图并导航回数据显示的视图后,reloadData()不起作用。无论reloadData()方法中的.save()进出,

override func viewDidLoad() {

    let cateContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext

    let categoryRequest = NSFetchRequest(entityName: "Category")

    categoryArray = (try! cateContext.executeFetchRequest(categoryRequest)) as! [Category]

    if categoryArray.count == 0 {

        let category = NSEntityDescription.insertNewObjectForEntityForName("Category", inManagedObjectContext: cateContext) as! Category

        category.sno = "1"
        category.category = "General"
        category.locate = false

        do {

            try cateContext.save()
            self.categoryTableView.reloadData()

        } catch let saveError as NSError {

            print("Saving Error : \(saveError.localizedDescription)")

        }


    }
    //self.categoryTableView.reloadData()
}

1 个答案:

答案 0 :(得分:0)

如果您在self.categoryTableView.reloadData()方法中调用viewDidLoad(),则不会重新加载您的tableView两次。您需要在之后致电self.categoryTableView.reloadData() ,检查实体是否已存在