У меня есть пользовательский класс с именем NumberView
, который подклассы UIScrollView
.Я положил UIView
на свою раскадровку и изменил класс на NumberView
:
Затем я создал розетку для своего ShotTraceViewController
класса:
@interface ShotTraceViewController ()
@property (weak, nonatomic) IBOutlet NumberView *numberView;
@end
Я определил несколько методов в NumberView.h
и NumberView.m
:
.h:
@interface NumberView : UIScrollView
@property (weak, nonatomic) id<NumberViewDelegate> number_delegate;
-(void)setTotalBtns:(int)total;
...
@end
.m:
@interface NumberView ()
@end
@implementation NumberView {
}
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
return self;
}
-(instancetype)initWithCoder:(NSCoder *)aDecoder{
self = [super initWithCoder:aDecoder];
return self;
}
-(void)setTotalBtns:(int)total {
NSLog(@"Setting buttons");
}
@end
Но когда я пытаюсь позвонить [self.numberView setTotalBtns:3];
из моего ShotTraceViewController
.Я получаю исключение:
- [UIView setTotalBtns:]: нераспознанный селектор отправлен в экземпляр 0x104fad3e0
Ух ты!Это не правильно, это должно быть NumberView
, а не UIView
!Я что-то не так делаю?
Я также заметил, что initWithFrame и initWithCoder не вызываются.