0

我正在努力学习在这里玩指针。

我有一个UIImageView. 我需要将它的image属性指向另一个UIImageViewsimage属性,这样每当我更改第二个UIImageViews 图像时,第一个会自动更新。

这里有一些指针操作,但我似乎无法理解它。

4

3 回答 3

2

那是不可能的。它们只是指针。例如aImageViewbImageView。您可以将它们的图像指针设置为指向相同的UIImage. 但是改变其中一个不会改变另一个。

也许你可以考虑使用 KVO 来做你想做的事情。更改一个,然后您的方法将被调用。然后在你的方法中你可以改变另一个。

于 2013-06-06T05:48:44.727 回答
2

您可以使用Key-Value Observing

来自 Apple 文档

键值观察提供了一种机制,允许对象在其他对象的特定属性发生更改时得到通知。

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.
}
于 2013-06-06T05:49:14.220 回答
0

尝试覆盖设置器。创建一个子类UIImageView,拥有第二个 UIImageView 的属性并编写类似

-(void)setImage:(UIImage*)image{
    _image = image;
    self.secondImageView.image = image;
}

希望这可以帮助。

于 2013-06-06T05:52:26.013 回答