gpt4 book ai didi

ios - 键值观察:是否可以观察所有属性的变化?

转载 作者:行者123 更新时间:2023-12-01 17:32:20 25 4
gpt4 key购买 nike

每当对象上的属性发生更改或更新时,我都想更改一个变量(即变量)。该随机数是基于时间的。因此,每次属性更新时,此随机数都会更新为当前时间。

有什么方法可以自动侦听对象上的所有关键更改吗?还是我必须为每个属性分别手动维护所有键值观察器?

非常感谢

最佳答案

您是否看过Obj-C运行时功能?请参阅文档中的here。例如,这为您提供了Lender类中的所有属性的列表。 (顺便说一句:我不在我的Mac上,所以这只是文档而已):

@interface Lender : NSObject {
float alone;
}
@property float alone;
@end

您可以使用以下方法获取属性列表:
id LenderClass = objc_getClass("Lender");
unsigned int outCount;
objc_property_t *properties = class_copyPropertyList(LenderClass, &outCount);

然后,您可以获取属性的名称:
const char *property_getName(objc_property_t property)

如果将这些名称重新输入 addObserver:forKeyPath:options:context,则应该是金色的。

关于ios - 键值观察:是否可以观察所有属性的变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16547170/

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