私は2つのクラスを持っています。1 つは Label、もう 1 つは LabelGestureRecognizer です。LabelGestureRecognizer には getName というメソッドがあり、Label クラスを介してメソッドを呼び出したいです。
以下は私の問題の簡単な例です。
「getName」メソッドを呼び出そうとしていますが、「「LabelGestureRecognizer」の目に見える @interface がセレクター「getName:」を宣言していません。」
ViewController.h:
@property (nonatomic, strong) UILabel *valueLabel;
ViewController.m:
- (void)viewDidLoad
{
valueLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 366, 320, 50)];
valueLabel.textAlignment = UITextAlignmentCenter;
valueLabel.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:valueLabel];
}
- (void) wheelDidChangeValue:(NSString *) newValue {
self.valueLabel.text = newValue;
}
ラベル.h:
@protocol LabelDelegate <NSObject>
@required
-(void) wheelDidChangeValue:(NSString *) newValue;
@end
@class LabelGestureRecognizer;
LabelGestureRecognizer.m:
- (NSString *) getName:(int) position
{
NSString *resultat = @"";
switch (position) {
case 0:
resultat = @"Test 1";
break;
case 1:
resultat = @"Test 2";
break;
default:
break;
}
return resultat;
}
LabelGestureRecognizer.h:
@interface LabelGestureRecognizer : UIGestureRecognizer
{
NSDate *previous;
double current;
}
ラベル.m:
LabelGestureRecognizer *recognizer = [[LabelGestureRecognizer alloc] init];
[self.delegate wheelDidChangeValue:[self getName:0]];