我正在尝试使用Mountain Lion上的Xcode 4.4构建的OS X应用程序,以便在Lion上工作。
将 OS X部署目标设置为10.7无济于事。该应用程序仍然无法在Lion上运行。 (该应用程序无法打开,点击它不会做任何事情。)
我尝试将基本SDK设置为10.7,但是我收到了很多错误,因为我使用了NSArray
和NSDictionary
文字,下标以及@property
s的默认合成到处都是。
根据Objective-C Feature Availability Index,这些功能应该适用于Lion。
问题是什么?
答案 0 :(得分:5)
NSWindow
不支持Lion中的弱引用。从“过渡到ARC发行说明”:
哪些类不支持弱引用?
您当前无法创建对实例的弱引用 以下课程:
NSATSTypesetter
,NSColorSpace
,NSFont
,NSMenuView
,NSParagraphStyle
,NSSimpleHorizontalTypesetter
和NSTextView
。注意:此外,在OS X v10.7中,您无法创建弱引用
NSFontManager
,NSFontPanel
,NSImage
,NSTableCellView
的实例,NSViewController
,NSWindow
和NSWindowController
。另外,在OS中 X v10.7 AV基础框架中没有类支持弱 引用。 对于声明的属性,您应该使用assign而不是 弱;对于变量,您应该使用__unsafe_unretained而不是 __weak 强>此外,您无法从实例创建弱引用 ARC下的
NSHashTable
,NSMapTable
或NSPointerArray
。
所以是的,在编译Lion时应该使用assign
。 (reference)