我创建了NSView的子类,使我可以通过方法- (void)setBackgroundColor:(NSColor *)aBackgroundColor
轻松更改背景颜色。
我希望我的视图控制器的主视图是此子类,所以我用self.view = [[BetterNSView alloc] initWithFrame...
对其进行初始化。
在下一行,我尝试设置其背景颜色:[self.view setBackgroundColor:[NSColor greenColor]]
。但是编译器抱怨说NSView没有方法setBackgroundColor
。
为了解决这个问题,我需要使用类型转换:[(BetterNSView *)self.view setBackgroundColor:[NSColor greenColor]];
。那个有效。但我不想进行类型转换。
我如何告诉编译器视图控制器的view
属性是BetterNSView
子类?记住,我没有使用IB。
您有两个合理的选择。
view
属性的访问器。真的,这是可以进行类型转换的情况之一。