gpt4 book ai didi

xcode - 以编程方式构建 ViewController 的 View 时,使编译器了解 NSView 子类方法

转载 作者:行者123 更新时间:2023-12-03 17:40:51 26 4
gpt4 key购买 nike

我创建了 NSView 的子类,它允许我通过方法 - (void)setBackgroundColor:(NSColor *)aBackgroundColor 轻松更改背景颜色。

我希望我的 View Controller 的主视图是这个子类,因此我使用 self.view = [[BetterNSView alloc] initWithFrame... 启动它。

在下一行,我尝试设置其背景颜色:[self.view setBackgroundColor:[NSColor greenColor]]。但编译器提示说 NSView 没有方法 setBackgroundColor

为了解决这个问题,我需要使用类型转换:[(BetterNSView *)self.view setBackgroundColor:[NSColor greenColor]];。这样可行。但我不想需要类型转换。

如何告诉编译器 View Controller 的 view 属性是 BetterNSView 子类?请记住,我没有使用 IB。

最佳答案

你有两个合理的选择。

  1. 在 View Controller 上使用正确的类型创建一个访问器,该访问器仅传递到 view 属性。
  2. 处理类型转换。

确实,这是可以进行类型转换的情况之一。

关于xcode - 以编程方式构建 ViewController 的 View 时,使编译器了解 NSView 子类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15772886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com