gpt4 book ai didi

objective-c - 如何在 Swift(或 ObjectiveC)中观察一个对象的所有类成员的变化?

转载 作者:行者123 更新时间:2023-11-28 12:50:10 25 4
gpt4 key购买 nike

我有一个类似的类

class Foo {
var bar : Int = 0
var baz : Boolean = false

var updated_at : NSDate
}

我同意从 NSObject 继承类(如果有一些 Objective-C 好东西可以使用的话)。

我希望有一些代码可以在每次更改 bar 或 baz 时自动更新 updated_at

有一个明显的解决方案(添加willSetdidSet)让每个成员更新updated_at

但是,它需要为每个 类成员添加willSetdidSet。结果,如果有 100 个,我将需要 100 个代码副本(我真的不喜欢)

我正在寻找一种方法,如何编写一段代码(相对于多个副本)来观察所有成员的变化。

最佳答案

这可以在 Objective-C 中使用:

  • (NSSet *)keyPathsForValuesAffecting {返回 [NSSet setWithObject:@"bar", @"baz", nil];

然后为 updated_at 添加自定义 setter。点击此链接了解详情。 https://www.objc.io/issues/7-foundation/key-value-coding-and-observing/

关于objective-c - 如何在 Swift(或 ObjectiveC)中观察一个对象的所有类成员的变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36749942/

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