我正在尝试学习如何使用指针。
我有UIImageView
。我需要将其image
属性指向另一个UIImageView
s image
属性,这样每当我更改第二个UIImageView
图像时,第一个都会自动更新。
这里有一些指针操作,但我似乎无法理解它。
答案 0 :(得分:2)
这是不可能的。它们只是一个指针。例如aImageView
和bImageView
。您可以将它们的图像指针设置为指向相同的UIImage
。但改变其中一个 NOT 改变另一个。
也许您可以考虑使用KVO来做您想做的事情。更改一个然后将调用您的方法。然后在你的方法中你可以改变另一个。
答案 1 :(得分:2)
您可以使用Key-Value Observing
键值观察提供了一种机制,允许对象通知其他对象的特定属性的更改。
KVO的主要好处是您不必在每次属性更改时都实施自己的方案来发送通知。
[imageView1 addObserver:self
forKeyPath:@"image"
options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld
context:NULL];
- (void) observeValueForKeyPath:(NSString *)path ofObject:(id) object change:(NSDictionary *) change context:(void *)context
{
// this method is used for all observations, so you need to make sure
// you are responding to the right one.
}
答案 2 :(得分:0)
尝试覆盖setter。创建UIImageView
的子类,为第二个UIImageView创建一个属性,并编写类似
-(void)setImage:(UIImage*)image{
_image = image;
self.secondImageView.image = image;
}
希望这有帮助。