故事板初始化UIView而不是我的自定义类

时间:2018-06-06 18:32:58

标签: ios objective-c uiview uistoryboard

我有一个名为NumberView的自定义类,其子类为UIScrollView。我将UIView放到我的故事板上,并将课程更改为NumberView

Screenshot of storyboard

然后我为我的ShotTraceViewController课程创建了一个插座:

@interface ShotTraceViewController () 
@property (weak, nonatomic) IBOutlet NumberView *numberView;
@end

我已在NumberView.hNumberView.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都没有被调用。

1 个答案:

答案 0 :(得分:0)

我不知道为什么会这样,但取消选中课程选择下方的Inherit Module from Target按钮会修复所有内容。