gpt4 book ai didi

ios - Swift 将多个值保存到 coredata

转载 作者:行者123 更新时间:2023-11-30 12:40:54 24 4
gpt4 key购买 nike

我正在制作一个游戏,其中包含一些常量:

struct moneyConstants {
static var tapValue = NSInteger()
static var tapMultiplier = NSInteger()
static var moneyPerSecond = NSInteger()
static var money = NSInteger()
}

我正在使用 CoreData 在应用程序关闭后保存值。我想知道您是否能够一次保存多个值。假设我保存某些内容的代码是:

让appDelegate = UIApplication.sharedApplication().delegate为!应用程序委托(delegate)

    let managedContext = appDelegate.managedObjectContext

let entity = NSEntityDescription.entityForName("Constants", inManagedObjectContext:managedContext)

let moneyS = NSManagedObject(entity: entity!, insertIntoManagedObjectContext:managedContext)

moneyS.setValue(moneyConstants.money, forKey: "moneySave")

do {
try managedContext.save()
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}

如果我想保存第二个值,例如:

let moneyPerSecondS = NSManagedObject(entity:entity!, insertIntoManagedObjectContext:managedContext)
moneyPerSecondS.setValue(moneyConstants.moneyPerSecond, forKey: "money")

我可以将这些行放在 do { 部分之前吗?或者我是否必须将其放在 do { 部分之后,然后再编写另一个 do { 部分?

最佳答案

当然可以(如果属性在模型中声明):

let moneyS = NSManagedObject(entity: entity!, insertIntoManagedObjectContext:managedContext)

moneyS.setValue(moneyConstants.money, forKey: "moneySave")
moneyS.setValue(moneyConstants.moneyPerSecond, forKey: "money")

所有不抛出的东西都不需要放置在do范围内。

关于ios - Swift 将多个值保存到 coredata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42232389/

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