kmi*_*ael 3 macos xcode cocoa objective-c
我正在尝试使用Mountain Lion上的Xcode 4.4构建一个OS X应用程序,以便在Lion上工作.
将OS X部署目标设置为10.7没有帮助.该应用程序仍然无法在Lion上运行.(该应用程序无法打开,点击它不会做任何事情.)
我尝试将基本SDK设置为10.7,但是我遇到了很多错误,因为我正在使用NSArray
和NSDictionary
文字,下标以及@property
s的默认合成.
根据Objective-C功能可用性索引,这些功能应该适用于Lion.
问题是什么?
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 Foundation框架中的任何类都不支持弱引用.对于声明的属性,您应该使用assign而不是weak; 对于变量,您应该使用__unsafe_unretained而不是__weak.此外,您不能创建弱引用的实例
NSHashTable
,NSMapTable
或NSPointerArray
根据ARC.
所以是的,你应该assign
在为Lion编译时使用.(参考)