核心数据ID自动递增

时间:2016-01-07 08:31:15

标签: ios swift core-data auto-increment

我发现了一个主题,它们是一个名为objectID的东西,以获取表格的每一行的自动增量ID,我想得到它并显示它,但我不明白该怎么做,我的代码:< / p>

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

    let newDemande = NSEntityDescription.insertNewObjectForEntityForName("Demandes", inManagedObjectContext: context)
    newDemande.setValue(soapRequest.xmlString, forKey: "xml")
    newDemande.setValue(1, forKey: "statutenvoie")

    do {
        try context.save()
    } catch {
        print("erreur data")
    }

    do {
        let request = NSFetchRequest(entityName: "Demandes")
        let results = try context.executeFetchRequest(request)

        if results.count > 0 {
            for item in results as! [NSManagedObject]{
                let xml = item.valueForKey("xml")
                let statutenvoie = item.valueForKey("statutenvoie")

                print(xml!, statutenvoie!)
            }
        }
    } catch {
        print("erreur data")
    }

错误:

print(item.objectID)
  

2016-01-07 10:53:22.679 ... [956:28002] CoreData:错误:   -addPersistentStoreWithType:SQLite配置:(null)URL:file:/// Users / informatiqueresponis / Library / Developer / CoreSimulator / Devices / FF92B583-0288-41FE-AD09-718E7E66D457 / data / Containers / Data / Application / B851E6CE-C0C9- 4FEE-9400-587995198D50 /文档/ SingleViewCoreData.sqlite   options:(null)...返回错误Error Domain = NSCocoaErrorDomain   Code = 134100“(null)”UserInfo = {metadata = {       NSPersistenceFrameworkVersion = 640;       NSStoreModelVersionHashes = {           Demandes =;       };       NSStoreModelVersionHashesVersion = 3;       NSStoreModelVersionIdentifiers =(           “”       );       NSStoreType = SQLite;       NSStoreUUID =“2654FBD8-4C1B-4001-827A-5C9D471B19C4”;       “_NSAutoVacuumLevel”= 2; },reason =用于打开商店的模型与用于创建商店的模型不兼容   userInfo字典{       metadata = {           NSPersistenceFrameworkVersion = 640;           NSStoreModelVersionHashes = {               Demandes =;           };           NSStoreModelVersionHashesVersion = 3;           NSStoreModelVersionIdentifiers =(               “”           );           NSStoreType = SQLite;           NSStoreUUID =“2654FBD8-4C1B-4001-827A-5C9D471B19C4”;           “_NSAutoVacuumLevel”= 2;       };       reason =“用于打开商店的模型与用于创建商店的模型不兼容”; 2016-01-07 10:53:22.683   ... [956:28002]未解决的错误错误域= YOUR_ERROR_DOMAIN   Code = 9999“无法初始化应用程序保存的数据”   UserInfo = {NSLocalizedDescription =无法初始化   应用程序保存的数据,NSUnderlyingError = 0x7a632aa0 {错误   Domain = NSCocoaErrorDomain Code = 134100“(null)”UserInfo = {metadata = {       NSPersistenceFrameworkVersion = 640;       NSStoreModelVersionHashes = {           Demandes =;       };       NSStoreModelVersionHashesVersion = 3;       NSStoreModelVersionIdentifiers =(           “”       );       NSStoreType = SQLite;       NSStoreUUID =“2654FBD8-4C1B-4001-827A-5C9D471B19C4”;       “_NSAutoVacuumLevel”= 2; },reason =用于打开商店的模型与用于创建商店的模型不兼容}},   NSLocalizedFailureReason =创建或加载时出错   应用程序保存的数据。},[NSLocalizedDescription:失败   初始化应用程序的已保存数据,NSUnderlyingError:错误   Domain = NSCocoaErrorDomain Code = 134100“(null)”UserInfo = {metadata = {       NSPersistenceFrameworkVersion = 640;       NSStoreModelVersionHashes = {           Demandes =;       };       NSStoreModelVersionHashesVersion = 3;       NSStoreModelVersionIdentifiers =(           “”       );       NSStoreType = SQLite;       NSStoreUUID =“2654FBD8-4C1B-4001-827A-5C9D471B19C4”;       “_NSAutoVacuumLevel”= 2; },reason =用于打开商店的模型与用于创建商店的模型不兼容},   NSLocalizedFailureReason:创建或加载时出错   应用程序保存的数据。](lldb)

1 个答案:

答案 0 :(得分:0)

我相信你指的是objectID in the NSManagedObject class

var objectID: NSManagedObjectID { get }

在你的情况下试试:

if results.count > 0 {
        for item in results as! [NSManagedObject]{
            let xml = item.valueForKey("xml")
            let statutenvoie = item.valueForKey("statutenvoie")

            print(item.objectID)
            print(xml!, statutenvoie!)
        }
    }