NSWindowをコードから作ると閉じた時にクラッシュする
1.
NSWindow
は作られた時
releasedWhenClosed
https://developer.apple.com/documentation/appkit/nswindow/1419062-releasedwhenclosed?language=objc
を true にする
2. 今時新規作成するアプリはだいたい ARC
3. ARC が有効な時に
-[object release]
を呼ぶと死ぬ
のコンボで死ぬ。
ちなみに releasedWhenClosed は NSWindowController が付いてる時は無視されて、普通に xib / storyboard とか使ってると NSWindowController が付いてくるので、普通の人は遭遇しない。これも罠。
https://lapcatsoftware.com/articles/working-without-a-nib-part-8-the-nib-awakens.html
#AppKit