日々精進

新しく学んだことを書き留めていきます

OS X Lion(10.7)でNSWindow・NSWindowControllerにweak参照をすると落ちる

weak参照ができないクラスがいくつかあるというのは知ってたけど、
OSのバージョンで挙動が違うとは。。
NSWindow・NSWindowControllerにweak参照をするとLionではアプリが落ちるがMountain Lionでは落ちない。
解決策はweakをunsafe_unretainedにしてdealloc時にちゃんとnilを代入すること。
参考:http://takebayashi.asia/blog/2011/12/23/arc-weak-unavailable-classes