我创建了一个 NSView 的子类,它允许我通过 方法轻松更改背景颜色- (void)setBackgroundColor:(NSColor *)aBackgroundColor。
我希望我的视图控制器的主视图是这个子类,所以我用self.view = [[BetterNSView alloc] initWithFrame....
在下一行,我尝试设置它的背景颜色:[self.view setBackgroundColor:[NSColor greenColor]]. 但是编译器抱怨说 NSView 没有方法setBackgroundColor。
为了解决这个问题,我需要使用 typecasting: [(BetterNSView *)self.view setBackgroundColor:[NSColor greenColor]];。这样可行。但我不想需要类型转换。
如何告诉编译器view视图控制器的属性是BetterNSView子类?请记住,我没有使用 IB。