NSView class documentation에는 드로잉 명령으로 결과를 생성할지 여부를 나타내는 기호 canDraw
이 있습니다. 그래서 언제 당신은 당신이 "Cannot assign to property: 'canDraw' is a get-only property
을합니다"라는 메시지 빌드 타임 오류가 발생,NSView 인스턴스 속성을 설정하는 방법
@IBOutlet weak var myView: NSView!
다음 myView.canDraw = true
같은 것을 시도 -
선언은 var canDraw: Bool { get }
입니다. 그러나 NSRect를 내보기에 그려야 할 경우 어떻게이 속성을 변경할 수 있습니까?
변경하지 마십시오. 문서 읽기! 이 순간 컨텍스트가 있는지 여부를 알려줍니다. 드로잉을 담당하고 싶다면'draw' 메소드 만 구현하면된다. https://developer.apple.com/reference/appkit/nsview/1483686-draw – matt
@matt'draw' 메쏘드를 구현해 보았는데 아무런 변화가 없었습니다. 그래서 나는' canDraw'는 거짓이었다. 내 잘못이야. 나는 '드로 (draw)'라고 계속 생각할 것이다. –
OK, 그래서 당신은 스스로에게 물어볼 필요가 있습니다. _why_'canDraw'는 false입니다. 문서는 "뷰 객체는 숨겨져 있지 않은 경우 화면 상에 그릴 수 있고, 창 (NSWindow)의 뷰 계층 구조에 첨부되며 해당 창 장치가 있습니다." 내 생각 엔 당신의 뷰 객체가 이러한 기준을 충족시키지 못한다는 것입니다. – matt