【发布时间】:2015-06-10 16:01:42
【问题描述】:
我有课ImageViewController。它有委托:
@protocol ImageViewControllerDelegate
@optional
- (void)singleTapGestureRecognizer:(UITapGestureRecognizer *)gesture;
- (void)imageDidLoaded;
我还有 AttachmentViewController 的类 ImageViewController 的子类。在那个类中,我想获取事件,然后更改图像属性。所以这是我的代码更改:
- (void)setImage:(UIImage *)image
{
// * Assign image with animation
[UIView transitionWithView:self.imageView
duration:k_DURATION_imageAppearence
options:UIViewAnimationOptionTransitionCrossDissolve
animations: ^{
self.imageView.alpha = 1;
} completion:^(BOOL finished) {
if ([self respondsToSelector:@selector(imageDidLoaded)]) {
[self.delegate imageDidLoaded];
}
}];
但是我不能用
if ([self.DELEGATE respondsToSelector:@selector(imageDidLoaded)])
然后我这样做我有错误:
No known instance method for selector 'respondsToSelector:'
为什么?以及如何在这里使用此功能?我的实施好吗?或者我怎样才能得到这个通知?
我认为在这里可以在超类中创建明确的方法并在子类中覆盖它,如果它需要实现的话。这是最好的方法吗?
【问题讨论】:
-
先学习单例类和委托,然后你就能解决你的问题。你缺乏关于委托的知识
-
@nischalhada 这与单例或委托无关。查看问题的当前答案。
-
不便敬请见谅
-
希望问题解决
标签: ios objective-c inheritance uiviewcontroller delegates