我创建了一个 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。