Ios 使用核心数据获取存储的数据

Ios 使用核心数据获取存储的数据,ios,swift,core-data,Ios,Swift,Core Data,在下面的代码中,我可以使用核心数据存储数据。我存储的数据是奖励。如何从核心数据中获取奖励数据?每次向某个用户添加奖励时,我如何获得核心数据中的奖励总额?我为每个用户使用loggedInUserHouseNumber。我如何获取奖励数据以及与该loggedInUserHouseNumber相等的奖励总额。我想得到所有的数据和总报酬等于loggedinuserhousenumber谁能提供答案 loggedInUserHouseNumber = (UserDefaults.standard.va

在下面的代码中,我可以使用核心数据存储数据。我存储的数据是奖励。如何从核心数据中获取奖励数据?每次向某个用户添加奖励时,我如何获得核心数据中的奖励总额?我为每个用户使用
loggedInUserHouseNumber
。我如何获取奖励数据以及与该
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)

您需要使用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
    }
让loggedInUserHouseNumber=(UserDefaults.standard.value(forKey:“loggedInUserHouseNumber”)作为!字符串)
let request=NSFetchRequest(entityName:“GroceryItem”)
//创建查询
request.predicate=NSPredicate(格式:“houseNo=%@”,loggedInUserHouseNumber??)
做{
如果let models=try context.fetch(request)as?[GroceryItem]{
//你会数到的
让count=models.count
var总计=0
对于模型中的模型{
总计=总计+模型。奖励
}
}
}捕捉错误{
//处理错误
}

您尝试过NSFetchRequest吗?是的,我尝试过。先生。您可以在这里发布您的取回方法吗?我已经更新了上面的问题。请参阅如何获取奖励总额,先生,例如,我加了10的rewar,然后我又加了一次,我怎么才能得到总数呢。。。。。这是一个错误,从这里抛出的错误无法处理请检查更新的代码中的错误。当您获得该用户的所有记录(此处为模型)时,现在必须循环并添加奖励。当保存奖励时,奖励已存储给该用户。如何获得奖励总额?例如,我加上10,然后再加上另一个奖励,即20,现在如何得到它的总数?还有使用未解析标识符“fetcher”时的错误
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
    }