哪些iOS类不支持归零弱引用?

adi*_*dib 7 cocoa-touch objective-c uikit ios automatic-ref-counting

__weak在使用自动引用计数(ARC)时,是否有iOS中的类列表无法使用指针引用?

Apple 过渡到ARC发行说明目前仅列出了Mac类:

哪些类不支持归零弱引用?

您当前无法创建对以下类的实例的归零弱引用:

NSATSTypesetter,NSColorSpace,NSFont,NSFontManager,NSFontPanel,NSImage,NSMenuView,NSParagraphStyle,NSSimpleHorizontalTypesetter,NSTableCellView,NSTextView,NSViewController,NSWindow,和NSWindowController.此外,在OS X中,AV Foundation框架中的任何类都不支持弱引用.

是否有类似的UIKit类列表,甚至是特定于iOS的类?

谢谢.

rob*_*off 5

如果您尝试对不支持弱引用的对象形成弱引用,则程序应立即死亡.这在WWDC 2011Objective-C Advancements in Depth视频中提到.因此,如果您发现一个不支持它们的课程,您应立即知道.

我很确定在转换到ARC发行说明中缺少提及意味着所有UIKit类都是安全的.我不确定关于AV Foundation类的警告是否适用于iOS.我测试了AVCaptureSession在iOS 5和Lion上创建一个弱引用,但都没有崩溃.我测试了创建一个NSWindow对Lion 的弱引用,它与消息崩溃了cannot form weak reference to instance (0x102232ef0) of class NSWindow.