gpt4 book ai didi

ios - 在 NSManaged 变量上使用属性观察器

转载 作者:IT王子 更新时间:2023-10-29 05:06:43 27 4
gpt4 key购买 nike

我在类中声明了一个变量,如下所示:

@NSManaged var isFavorite: Bool

我想声明一个属性观察者,与下面的非常相似。

 var organization: String {
didSet { postNotificationWithName( "newData" ) }
}

但是,Swift 告诉我不允许在 NSManaged 变量上设置属性观察器。有什么方法可以为我的 isFavorite 变量实现这样的功能或类似功能吗?

最佳答案

是的——删除@NSManaged。这不是绝对必需的,但如果删除它,不幸的是您需要为该属性实现 getset。您需要添加类似

的内容

@objc 仅在您希望能够对属性执行 KVO 时才需要。

@objc public var newData: String? {
set {
willChangeValue(forKey: "newData")
setPrimitiveValue(newValue, forKey: "newData")
didChangeValue(forKey: "newData")
}
get {
willAccessValue(forKey: "newData")
let text = primitiveValue(forKey: "newData") as? String
didAccessValue(forKey: "newData")
return text
}
}

如果您实际上不需要它们,那么实现这两个功能有点烦人,但现在就是这样。

因为你会有一个set,你可能不需要一个didSet,但是你仍然可以添加一个didSet如果你想要一个.

关于ios - 在 NSManaged 变量上使用属性观察器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30203562/

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