【问题标题】:Swift Core data Error when trying to populate尝试填充时出现 Swift Core 数据错误
【发布时间】:2016-02-02 16:44:16
【问题描述】:

我是 swift 新手,但遇到了核心数据问题。

我的应用在尝试填充时崩溃。我只有 1 个字段用于测试目的

import UIKit
import SwiftyJSON
import CoreData

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    seedRestaurantList()
    fetch()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


func fetch() {
    let moc = DataController().managedObjectContext
    let nameFetch = NSFetchRequest(entityName: "RestaurantList")

    do {
        let fetchedName = try moc.executeFetchRequest(nameFetch) as! [RestaurantList]
        print(fetchedName.first!.name!)

    } catch {
        fatalError("merda again: \(error)")
    }
}
func seedRestaurantList () {
    let moc = DataController().managedObjectContext


    let entity = NSEntityDescription.insertNewObjectForEntityForName("RestaurantList", inManagedObjectContext: moc) as! RestaurantList

    entity.setValue("teste", forKey: "name")


    do {
        try moc.save()


    } catch {
        fatalError("deu merda: \(error)")
    }
}

}

这是我得到的错误

2015-11-02 17:38:04.880 DinDins[2993:1252158] CoreData:错误:非法 尝试保存到从未打开过的文件。 “这 NSPersistentStoreCoordinator 没有持久存储(未知)。它 无法执行保存操作。”。没有记录最后一个错误。2015-11-02 17:38:04.885 DinDins[2993:1252158] * 由于未捕获而终止应用程序 异常'NSInternalInconsistencyException',原因:'这 NSPersistentStoreCoordinator 没有持久存储(未知)。它 无法执行保存操作。 * 第一次抛出调用栈:(0x236c585b 0x3503adff 0x2346da89 0x2346dc95 0x2346de2d 0x2347710f 0x1249d03 0x12534fb 0x23468ef1 0x233b31f3 0x233b3223 0x233d615b 0x9cff0 0x9c360 0x9c400 0x277f9f55 0x278b6c4f 0x278b6b45 0x278b5ef1 0x278b5b27 0x278b577d 0x278b56f7 0x277f5cc3 0x270bdb05 0x270b9201 0x270b9091 0x270b85b1 0x270b8263 0x270b1a1f 0x23688091 0x23686387 0x235d90f9 0x235d8ecd 0x27867607 0x278622dd 0x9fde0 0x35788873) libc++abi.dylib:终止于 NSException (lldb) 类型的未捕获异常

提前致谢

---RestaurantList+CoreDataProperties.swift

import Foundation
import CoreData

extension RestaurantList {

    @NSManaged var name: String?

}

---RestaurantList.swift

import Foundation
import CoreData

class RestaurantList: NSManagedObject {

// Insert code here to add functionality to your managed object subclass


}

【问题讨论】:

  • 您是否修改了现有的核心数据结构?
  • 刚刚添加了 RestaurantList+CoreDataProperties.swift 和 RestaurantList.swift
  • 你没有为你的 MOC 添加任何新参数?
  • 不...我应该这样做吗?在哪里? (抱歉,对 swift 来说真的很陌生)
  • 您创建的应用程序是否已激活添加“核心数据”?

标签: ios swift core-data


【解决方案1】:

Ricardo,尝试重置您的模拟器。打开模拟器,进入菜单模拟器并选择重置内容和设置

【讨论】:

  • 我正在 iPhone 上进行测试。我应该避免这样做吗?
  • 删除您的应用并重新安装
  • 我已经删除了这个项目并从头开始创建了一个,它工作正常,谢谢
  • 很好,每次你改变你的数据模型,你需要重置你的模拟器..或重新安装应用程序
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-12
  • 2018-11-19
  • 2018-07-12
  • 1970-01-01
  • 2014-12-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多