如何设置 NSView 实例属性

How to set NSView Instance Properties

NSView class documentation, there is a symbol canDraw 中指示绘图命令是否会产生任何结果。

声明是 var canDraw: Bool { get } - 所以任何时候你尝试

@IBOutlet weak var myView: NSView!

然后 myView.canDraw = true,您会收到一个构建时错误,说明“Cannot assign to property: 'canDraw' is a get-only property”。但是,如果我想在我的视图上绘制 NSRect,我该如何更改 属性?

您无法更改 canDraw,因为它是只读的。它是只读的,因为它报告了一个您无法控制的事实,即这是否是您此时可以绘制的视图。

要绘制到视图中——即实现负责绘制自身的 NSView——子类 NSView 并实现 draw。示例:

该屏幕截图中显示的代码基本上是应用程序中唯一的代码。 window中的view是一个MyView,MyView实现了draw.