Выполнение обнуления слабых ссылок не сложно. Все, что вам нужно сделать, это просто отслеживать все указатели ссылок - хранить их в коллекции - и назначать NULL
при удалении объекта-указателя. В любом случае, делая все это вручную действительно много работы, вам буквально нужно написать весь ручной код отслеживания, чтобы быть достаточно эффективным в Objective-C.
И в конце вы, наконец, обнаружите, что вам нужна автоматическая машина для написания кода - статический компилятор - и это именно то, что делает ARC. Вы можете реализовать что-то вроде ARC самостоятельно. Но если я вам, я буду использовать уже существующую, надежную, стабильную, хорошо продуманную и поддерживаемую реализацию компилятора.
Кроме того, не следуя за Apple, это не разумное поведение, если вы хотите развить Apple-вещи. В отличие от других держателей платформ, таких как Microsoft, Apple не заботится о сохранении обратной совместимости. Если они не считают, что что-то хорошее, оно будет устаревать и удалено в конце концов - например, Objective-C GC.
Что не так, просто вытащив их из Dealloc? В любом случае это все обнуление. – CodaFi
«Мне не нравится ARC.», Мы должны быть друзьями! – Jake
Ваш анализ здесь странный. Обнуление слабых ссылок - это, пожалуй, * наименее важная особенность ARC (хорошо, как есть). Важнейшими особенностями ARC являются улучшение производительности во времени и пространстве в сочетании с гораздо более безопасным кодом (меньшее количество сбоев), что также бывает намного проще писать практически в каждом случае. Какая другая функция компилятора дает все это? ARC так же ценна на iOS 4 без «слабого», как на iOS 5. http://stackoverflow.com/questions/8760431/to-arc-or-not-to-arc-what-are-the-pros -and-cons/8760820 # 8760820 –