Ios 如何在核心数据中定义自增属性?

Ios 如何在核心数据中定义自增属性?,ios,core-data,auto-increment,swift2.2,Ios,Core Data,Auto Increment,Swift2.2,我在Swift应用程序中使用核心数据,并希望将每个实体中的ID属性设置为autoincrement。在核心数据中是否可能?或者我必须手动插入条目并以编程方式管理增量 我的编程尝试,其中katid是我的唯一密钥: let fetchRequest = NSFetchRequest(entityName: "Kategorien") let sortDescriptor = NSSortDescriptor(key: "katid", ascending: true, selecto

我在Swift应用程序中使用核心数据,并希望将每个实体中的ID属性设置为autoincrement。在核心数据中是否可能?或者我必须手动插入条目并以编程方式管理增量

我的编程尝试,其中katid是我的唯一密钥:

    let fetchRequest = NSFetchRequest(entityName: "Kategorien")
    let sortDescriptor = NSSortDescriptor(key: "katid", ascending: true, selector: #selector(NSString.compare(_:)))
    fetchRequest.sortDescriptors = [sortDescriptor]


    var newID = 0
    do {
        let result = try managedObjectContext.executeFetchRequest(fetchRequest).last as! Kategorien!
        if result != nil {
            newID = (result.katid?.integerValue)! + 1
        }
    } catch let error as NSError {
        NSLog("Unresolved error \(error)")
    }

任何更好的解决方案;-)

@Wain我得到了“9D87E220-A3D6-4DC1-90AA-EA98810B3765”,这里怎么了-(没什么,这是一个UUID/GUID-我没有结束你的问题,因为它不是另一个的复制品,但它包含了相关信息,可能是一个你可以使用的解决方案。它当然比你的解决方案更有效,但也比你的解决方案更有效,但按取数批量大小的相反顺序对取数进行计数和排序…@Wain ok,但这是怎么回事排序?我必须用这个值排序…或者我应该添加一个新的“列”如order?我看到您正在排序,之前没有排序。所以只需将fetch batch size设置为1,因为您只关心最后一项,并按另一个方向排序,因为您只需要一个结果(按降序排序)