gpt4 book ai didi

ios - 通过 KVO 观察 MKMapView 的区域?

转载 作者:可可西里 更新时间:2023-11-01 05:10:54 25 4
gpt4 key购买 nike

我有一个对象想知道 MKMapView 的区域何时更改。但是,此对象不是 map View 的委托(delegate)。我正在尝试以下操作,其中 map 是 MKMapView:

[map addObserver:self forKeyPath:@"region" options:0 context:nil];

但是,observeValueForKeyPath:ofObject:change:context: 没有被回调。

作为临时解决方案,我让 map 的委托(delegate)让另一个对象知道 map 区域何时更改,但我想解耦这两个对象,因为它们并不真正相关。

最佳答案

在 Cocoa (Touch) 中,框架对象的属性只保证符合 KVO 标准如果文档这样说-[MKMapView region] 的文档没有这样的声明,所以你不应该尝试在它上面使用 KVO。即使它碰巧起作用,您也无法保证完全合规或持续成功。

相反,您必须使用委托(delegate)方法并从那里向其他对象发送消息。可能您的代表可以广播 NSNotification 以实现与 KVO 类似的效果。

关于ios - 通过 KVO 观察 MKMapView 的区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4370339/

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