¿Hay alguna opción de compilación (o de alguna otra manera) para ver dónde ARC está insertando retener y liberar? Esto es principalmente por curiosidad. Puedo verlos en el código de desmontaje, pero a veces es difícil pasarlo.Ver dónde está insertando ARC retener y liberar
Respuesta
No, no es así. Aunque estoy de acuerdo, sería una adición muy buena (¡aunque no serviría para muchas funciones)! Y como dijiste, puedes mirar el código de desensamblaje si realmente sientes curiosidad.
No. Si el compilador proporcionara esto, se sentiría absolutamente abrumado por la cantidad de retenciones/lanzamientos, ya que la mayoría de ellos se eliminan durante la etapa de optimización. Pero el compilador ni siquiera puede hacer eso, porque ARC no es una etapa de procesamiento previo. Es parte de la compilación. Entonces no podrás obtener nada más que mirar la asamblea.
¿Qué pasa cuando obtiene Código ARC-ed para 4.x? –
@Yar: ¿Qué quieres decir? –
Código que está compilado para funcionar con iOS 4.x, que realmente no es compatible con ARC. Ese código en realidad se inserta en el código antes de la compilación, ¿verdad? –
- 1. Retener ciclo en ARC
- 2. ¿Debo liberar CGColorSpaceRef en ARC?
- 3. ¿Cuál es el equivalente a '[[retener algo] autorelease]' en ARC?
- 4. edición extraña ARC no liberar Ivar en UIView subclase
- 5. Objetos de modelo CoreData en ARC utiliza retener
- 6. ARC o no a ARC iphone iOS5
- 7. ¿Por qué debería un getter auto implementado retener y liberar automáticamente el objeto devuelto?
- 8. opciones del compilador para mezclar el ARC y el Código no se hace caso omiso ARC
- 9. ARC y molde en puente
- 10. ¿Necesita liberar colas GCD bajo ARC en iOS 6.0?
- 11. En ARC, ¿cómo puedo liberar los elementos en un NSArray?
- 12. ARC, no ARC, y herencia
- 13. ¿ARC o no a ARC? ¿Cuáles son los pros y los contras?
- 14. En conteo automático de referencias, ¿por qué no se permiten retener, liberar y destrabar?
- 15. ¿Qué está pasando con Arc?
- 16. ¿cómo puedo ver dónde está presente un ejecutable en macosx?
- 17. ¿Dónde puedo ver quién está conectado actualmente en Plone?
- 18. (retener, no atómico) y (no atómico, retener) alguna diferencia?
- 19. ¿Es posible ver el código generado por ARC en tiempo de compilación?
- 20. ARC y ASIHTTPRequest
- 21. Comprobación para ver si se puede liberar un puntero
- 22. ¿Es una buena idea retener/liberar los parámetros del método en Objective-C?
- 23. Backbone.js - ¿Dónde definir ver ayudantes?
- 24. Dónde ver resultados desde PlayN.Log
- 25. Liberar un objeto en un proyecto que no sea ARC, el objeto se declara en una biblioteca ARC
- 26. NewStringUTF() y liberar memoria
- 27. Dónde está WebResource.axd
- 28. iOS ARC - propiedades débiles y fuertes
- 29. Ciclo de ARC, Bloques y retención
- 30. ¿Cuándo liberar/retener un objeto que se pasa a un subproceso secundario?
+1 pregunta muy interesante. Por otro lado, no veo cómo esto podría ayudarte, pero estoy seguro de que tienes alguna situación en mente ... –
Puede ser útil si tiene que hacer una gran cantidad de moldes de tipo __bridge al código c. Las cosas pueden ser un poco confusas, pero como dije antes, tengo curiosidad. Me gusta saber cómo funcionan las cosas, no solo cómo hacer que funcionen. –
Roger, no entiendo tu objetivo. Si desea controlar retenciones, etc. simplemente compile como no ARC (-fno-objc-arc). ARC va a agregar retenciones tal como lo haría, pero tal vez use una versión anterior de la que pueda. Esto será lo mismo para los sistemas operativos ARC y ARC anteriores. Andrew – adonoho