gpt4 book ai didi

iphone - 数据源中的 KVO 问题

转载 作者:行者123 更新时间:2023-11-29 04:11:20 25 4
gpt4 key购买 nike

我有一个 UITableView,其中包含存储在数组中的 NewsItem 对象的数据源。在我的 NewsItem 对象中,我有一个名为“imageState”的 BOOL,我希望对其进行跟踪。我想使用 KVO,这样当这个 imageState 的值发生变化时,就会通知具有 NewsItem 数组的 UIViewController,然后它会执行一些操作(即:重新加载单元格或其他操作)。我该如何做这样的事情?首先这可行吗?

最佳答案

您可以在 TableViewController 中添加观察者,如下所示

[self addObserver:newsItemObject  forKeyPath:@"imageState" options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld) context:nil];

它会观察对象,当它发生变化时它会调用这个方法,你应该在下面实现这个方法:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
NSLog(@"%@ \n %@ \n %@ \n ",keyPath,object,change);
// do your things
}

如果类NewsItem是你的类,我认为最好使用Delegate或Notification。 KVO 并不是更好的方法。

关于iphone - 数据源中的 KVO 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14371370/

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