gpt4 book ai didi

ios - 如何为 CoreData 中的 NSManaged 属性赋予初始值?

转载 作者:可可西里 更新时间:2023-10-31 23:59:20 27 4
gpt4 key购买 nike

我使用 Swift。我有一个 CoreData,它有一个名为 days 的字符串属性。我想为此分配一个默认值。我在我的 CoreData 模型类中尝试过它,但它给出了一个错误,提示 “NSManaged 属性不能有初始值”

这是我试过的。

@NSManaged var daysAvailable:String = "M"

最佳答案

其实很简单。只需覆盖 NSManagedObject 子类的 awakeFromInsert 方法即可。

class Person: NSManagedObject {

@NSManaged var name: String
@NSManaged var age: NSNumber

override func awakeFromInsert() {
super.awakeFromInsert()
setPrimitiveValue(21, forKey: "age")
setPrimitiveValue("Bob", forKey: "name")
}
}

根据awakeFromInsert documentation :

If you want to set attribute values in an implementation of this method, you should typically use primitive accessor methods (either setPrimitiveValue:forKey: or—better—the appropriate custom primitive accessors). This ensures that the new values are treated as baseline values rather than being recorded as undoable changes for the properties in question.

关于ios - 如何为 CoreData 中的 NSManaged 属性赋予初始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29229645/

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