我正试图在这里玩指针。我有一个UIImageView
。我需要将其image
属性指向另一个UIImageView
的image
属性,以便每当更改第二个UIImageView
的图像时,都会自动更新第一个图像。Objective-C中指针的指针
一些指针操作在这里,但我似乎无法得到我的头。
我正试图在这里玩指针。我有一个UIImageView
。我需要将其image
属性指向另一个UIImageView
的image
属性,以便每当更改第二个UIImageView
的图像时,都会自动更新第一个图像。Objective-C中指针的指针
一些指针操作在这里,但我似乎无法得到我的头。
这是不可能的。他们只是指针。例如aImageView
和bImageView
。您可以将它们的图像指针设置为指向相同的UIImage
。但改变其中之一呢不是改变其他。
也许你可以考虑使用KVO来做你想做的事。改变一个,然后你的方法会被调用。然后在你的方法中,你可以改变另一个。
嗯....志愿绝对是一种选择,但我想知道,如果它可以通过指针来操作。所以我想我不能玩坏人在这里。 – tGilani
@tGilani IMO,就像我在答案中所说的那样,这是不可能的。为此事道歉。它们只是指针,而不是指向指针的指针。 – sunkehappy
从苹果文档
键 - 值观察提供了一种机制,允许对象被通知更改其他对象的特定属性。
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.
}
感谢您的输入,我没有任何实际需要,我只是想知道是否可以通过指针完成.. – tGilani
试着重写setter。使UIImageView
一个子类,对第二UIImageView的一个属性,喜欢写东西
-(void)setImage:(UIImage*)image{
_image = image;
self.secondImageView.image = image;
}
希望这有助于。
所以每当第二改变只给firstImageView.image = @“ImageName” – alpha