我的自定義委託沒有收到呼叫。這是我的設置。 ViewController
具有SliderView
對象,它是的UIScrollView
一個子類:自定義委託沒有收到呼叫
SlideView.h
#import <UIKit/UIKit.h>
@protocol SlideViewDelegate <NSObject
@required
-(void) didTapImageData:(NSMutableArray*)imageData atIndex:(int)index;
@end
@interface SliderView : UIScrollView<UIGestureRecognizerDelegate> {
__weak id<SlideViewDelegate> slideViewDelegate;
}
@property (nonatomic, weak) id<SlideViewDelegate> slideViewDelegate;
@end
SlideView.m
#import "SliderView.h"
@implementation SliderView
@synthesize slideViewDelegate;
- (void) handleTap:(UITapGestureRecognizer *)recognizer{
NSLog(@"tapped");
[[self slideViewDelegate] didTapImageData: imageData atIndex:0 ];
}
ViewController.h
@interface ViewController : UIViewController <
UIScrollViewDelegate,
SlideViewDelegate>{
SliderView *thumbGalleryView;//delegate and reference are set in XCode
}
ViewController.m
#import "ViewController.h"
@implementation ViewController
-(void)didTapImageData:(NSMutableArray*) imageData atIndex:(int)index{
NSLog(@"NOT WORKING HERE");
}
因此ViewController
從未接收過上述方法的呼叫。 thumbGalleryView
鏈接到ViewController
,代表也設置爲ViewController
。 SlideView
的handleTap
正在打印信息正常,但[[self slideViewDelegate] didTapImageData: imageData atIndex:0 ];
被忽略。爲什麼?
這個伎倆。感謝您的演示。 – Vad
這是我的榮幸:) –