Ok, donc je suis nouveau à CoreData et j'utilise NSNumber (environ un jour) et j'ai regardé un tutoriel sur CoreData et j'ai réussi à stocker un certain nombre de réalisations différentes dans coreData en utilisant la même entité que j'ai appelé "Achievement" mais maintenant j'essaye d'aller chercher les données sur la base d'un nom donné pour rechercher une "réalisation" spécifique et éditer son attribut.Données de base - Modifier, incrémenter et sauvegarder l'attribut à une entité déjà existante
func addOneToAchievement(AchName: String) {
let getDataRequest:NSFetchRequest<Achievement> = Achievement.fetchRequest()
getDataRequest.predicate = NSPredicate(format: "theSearchName == %@" , AchName)
do {
let searchResults = try CoreDatabaseContoller.getContext().fetch(getDataRequest)
//print("number of results: \(searchResults.count)")
for result in searchResults as [Achievement] {
// print("\(result.theName!) \(result.theDescription!) is \(result.theImage!) \(result.aAmount!)/\(result.aNeededAmount!) is \(result.aStage!)")
result.aAmount! += 1
if result.aAmount! == result.aNeededAmount {
result.theImage! = "diamonds2"
result.aNeededAmount! = 100
result.aStage! = 2
}
}
}
catch {
print("ERROR: \(error)")
}
}
Mais je rencontre un problème, pour l'attribut montant de mon entité est un NSNumber et ont trouvé que je ne peux pas augmenter par la syntaxe habituelle de
result.Amount! += 1
Comment puis-je augmenter le NSNombre de résultat.Montant! puis sauvegarder avec tous les autres attributs que j'ai changé de cette réalisation certaine?
Merci qui a fonctionné! :) – Astrum