gpt4 book ai didi

objective-c - 使用 Objective-C 编码时可以在运行时添加属性吗

转载 作者:搜寻专家 更新时间:2023-10-30 19:43:22 24 4
gpt4 key购买 nike

我想知道是否可以在运行时向 Objective-C 对象实例动态添加新属性?

我最初的想法只是覆盖 getValueForKey 以“伪造”一个属性,但它似乎不适用于 CoreAnimation。我想要实现的是能够为自定义属性设置动画。如果我创建 CALayer 的子类并将声明的属性添加到我的子类,我就能够让它工作。如果我尝试使用 getValueForKey/setValueForKey 策略,CoreAnimation 似乎并不关心它,它正在明确寻找已声明的属性。

我希望能够动态添加属性,因为我可能直到运行时才知道要为哪个属性设置动画。我当然可以创建一个 CALayer 子类,它具有我想要动画的所有属性......但只是想知道是否有更好的方法来做到这一点......

谢谢,

彼得

最佳答案

您是否尝试过覆盖 valueForUndefinedKey: 而不是? (我在一个自定义的 NSObject 子类上执行此操作,该子类可以具有从数据库中提取名称的各种属性。)

关于objective-c - 使用 Objective-C 编码时可以在运行时添加属性吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/798733/

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