gpt4 book ai didi

iphone - 如何通知其他对象objective c的变化

转载 作者:行者123 更新时间:2023-11-28 22:46:51 26 4
gpt4 key购买 nike

假设我有一个名为 ColorHolder 的对象,其中一个属性是 UIColor 值。假设我还有一个 NSMutableArray 存储一些 UIColors,我们称它为 colors。我使用数组中的值初始化一个 ColorHolder 对象,如下所示:

[[ColorHolder alloc] initWithColor: [self.colors objectAtIndex:5]];

现在在程序后面的某个时间点,用户在相同索引 5 处更改 colors 中的值。我想要的是我在上面初始化的 ColorHolder 对象,因为当它在 colors NSMutableArray 中的相应值发生变化时,它的颜色值也会发生变化。如何以这种方式设置指针以使其发生?

最佳答案

您设置字体的 View (以及 FontHolder 所做的任何事情)不会“观察”字体数组的更改,并且 UIFont 类是不可变的。

您将需要使用 NSNotificationCenter 添加一个观察类来监视此数组并向感兴趣的 View (和/或 FontHolder)发送通知。

这是一个经典的观察者模式。

http://blog.csdn.net/dadalan/article/details/4240733

上面的博客不是您代码的复制和粘贴答案,但我提供它是为了提供有关模式的一般信息。

此外,如果您真的不需要更新 View ,您可以简单地告诉 FontHolder 在用户对其进行更改时随时从字体数组刷新自身。如果只有一个观察者,这是一种实现观察者模式的廉价方法。

关于iphone - 如何通知其他对象objective c的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12994148/

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