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

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

苹果过渡到ARC发行说明到目前为止只列出了Mac类:

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

您目前不能创build对以下类的实例的归零弱引用:

NSATSTypesetter NSColorSpace NSFont NSFontManager NSFontPanel NSImage NSMenuView NSParagraphStyle NSSimpleHorizontalTypesetter NSTableCellView NSTextView NSViewController NSWindowNSWindowController 。 另外,在OS X中,AV Foundation框架中没有任何类支持弱引用。

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

谢谢。

如果您尝试对不支持弱引用的对象形成弱引用,则该程序应该立即死亡。 这在WWDC 2011的Objective-C深度进展video中已经提到。 所以你应该立即知道如果你发现一个不支持他们的课程。

我很确定,在转换到ARC版本注释中缺less提及意味着所有的UIKit类都是安全的。 我不确定有关AV Foundation课程的警告是否适用于iOS。 我testing了在iOS 5和Lion上创build对AVCaptureSession的弱引用,但都没有崩溃。 我testing了在Lion上创build一个对NSWindow的弱引用,并且它与该消息一起崩溃, cannot form weak reference to instance (0x102232ef0) of class NSWindow