gpt4 book ai didi

ios - 使用 Core Data 获取存储的数据

转载 作者:可可西里 更新时间:2023-11-01 01:57:57 25 4
gpt4 key购买 nike

在我下面的代码中,我可以使用 Core Data 存储数据。我存储的数据是奖励。我如何从核心数据中获取奖励数据?每当有奖励已添加到该特定用户时,我如何在我的核心数据中获得总奖励?我为每个用户使用 loggedInUserHouseNumber。如何获取与 loggedInUserHouseNumber 相等的奖励数据和奖励总额? .我想获得所有数据和总奖励等于登录用户门牌号任何人都可以提供答案吗?

 loggedInUserHouseNumber =  (UserDefaults.standard.value(forKey: "loggedInUserHouseNumber")  as! String)

获取请求代码

let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "GroceryItem")
request.returnsObjectsAsFaults = false


self.saveReward(reward: rewardInt)

保存数据代码:

func saveReward(reward: Int64){
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
let groceryData = GroceryItem(context: context) // Link GroceryItem & Context
groceryData.reward = reward
groceryData.isSelected = false
groceryData.houseNo = loggedInUserHouseNumber
// print("data:", groceryItem.name)
print("ang reward nga na save: ", groceryData.reward)
print("jelordrey")
(UIApplication.shared.delegate as! AppDelegate).saveContext()
}

最佳答案

您需要使用NSPredicate 来查询特定的房子不,您可以尝试使用下面的示例代码。

let loggedInUserHouseNumber =  (UserDefaults.standard.value(forKey: "loggedInUserHouseNumber")  as! String)
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "GroceryItem")
//Create query
request.predicate = NSPredicate(format: "houseNo = %@", loggedInUserHouseNumber ?? "")
do {

if let models = try context.fetch(request) as? [GroceryItem] {
// You will get count
let count = models.count
var total = 0
for model in models {
total = total + model. reward
}

}
} catch let error {
// Handle error
}

关于ios - 使用 Core Data 获取存储的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49713910/

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