gpt4 book ai didi

ios - 获取核心数据最新 -id 并为新插入提供 -(+1)

转载 作者:行者123 更新时间:2023-11-30 12:27:14 26 4
gpt4 key购买 nike

我有 coredata user 表并在里面

用户

id (int32)名称(字符串)

我想首先查看最新的 id,并且我想做 let newid =latestid(from user table) - (-1) 例如;

我的用户表有

id = 0 姓名 = 玛丽id = -1 名称 = 约翰

我想要新的插入 ID 必须是 -2

How can I do it ?

我的代码如下。

 let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "user")
let sortDescriptor = NSSortDescriptor(key: "id", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]

var newid = Int32()

do {
let result = try context.fetch(fetchRequest).last as! user!
if result != nil {
if Int((result?.id)!) < 0 {
let lw = Int((result?.id)!)
newid = Int32(Int(lw - (1)))
}else{
newid = Int32(Int((result?.id)!) - 1)
}
}
} catch let error as NSError {
NSLog("Error \(error)")
}


let Add = NSEntityDescription.insertNewObject(forEntityName: "user", into:context) as! user
Add.id = Int32(newid)
Add.name = name.text
(UIApplication.shared.delegate as! AppDelegate).saveContext()

print(newid)

当我尝试这些代码时,第一次执行 id = 0 true ,再次尝试后给出 id -1 true ,但是当我尝试更多时给出 id -1 所有代码。必须是 -2、-3、-4、-5 等。

最佳答案

我终于找到了孤独

使用ascending: false并仅更改

if result != nil {
if Int((result?.id)!) < 0 {
newid = Int((result?.id)!)
}else{
newid = 0
}
newid = Int((result?.id)!) - (+1)

关于ios - 获取核心数据最新 -id 并为新插入提供 -(+1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44042956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com