Какие классы iOS не поддерживают обнуление слабых ссылок?

Есть ли в iOS список классов, на которые нельзя ссылаться указателем __weak при использовании автоматического подсчета ссылок (ARC) ?

переход Apple на заметки о выпуске ARC пока перечисляет только классы Mac:

  

Какие классы не поддерживают ссылки со слабыми нулями?

     

В настоящее время нельзя создавать слабые по нулям ссылки на экземпляры следующих классов:

     

NSATSTypesetter, NSColorSpace, ---- +: = 3 =: + ----, NSFont, NSFontManager, NSFontPanel, NSImage, NSMenuView, NSParagraphStyle, NSSimpleHorizontalTypesetter, NSTableCellView, NSTextView, NSViewController и NSWindow. Кроме того, в OS X нет классов в платформе AV Foundation, поддерживающих слабые ссылки.

Есть ли подобный список для классов UIKit или вообще для iOS-классов?

Спасибо.

7 голосов | спросил adib 5 FebruaryEurope/MoscowbSun, 05 Feb 2012 06:51:28 +0400000000amSun, 05 Feb 2012 06:51:28 +040012 2012, 06:51:28

1 ответ


0

Если вы попытаетесь сформировать слабую ссылку на объект, который не поддерживает слабые ссылки, программа должна немедленно умереть. Это упомянуто в видео Улучшения Objective-C в глубине из WWDC 2011 . Поэтому вы должны немедленно узнать, если вы найдете класс, который не поддерживает их.

Я почти уверен, что отсутствие упоминания в Переходе к заметкам о выпуске ARC означает, что все UIKit занятия безопасны. Я не уверен, относится ли предупреждение о AV Foundation к iOS или нет. Я протестировал создание слабой ссылки на AVCaptureSession как на iOS 5, так и на Lion, и ни одна из них не вылетела. Я протестировал создание слабой ссылки на NSWindow в Lion, и он вылетел с сообщением cannot form weak reference to instance (0x102232ef0) of class NSWindow

ответил rob mayoff 5 FebruaryEurope/MoscowbSun, 05 Feb 2012 10:02:17 +0400000000amSun, 05 Feb 2012 10:02:17 +040012 2012, 10:02:17

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132