Dado que parece que no encuentro ninguna documentación sobre este tema, ¿es posible crear su propia "clase" de Core Foundation? (clases como las que se pueden usar con CFRetain() y CFRelease) Quiero aprovechar las capacidades polimórficas y la inspección de objetos integradas en Core Foundation sin la sobrecarga de Objective-C o la creación de mi propia jerarquía de objetos.Creación de clases de Core Foundation
Respuesta
Sea prevenido: creo que Core Foundation no tiene herencia verdadera sin Objective-C cargada, y con Objective-C cargado obtendrá de todas formas la desaceleración asociada (menor).
Probablemente no haya documentación, pero podría ser posible. Ciertamente no estará limpio. Intente navegar a través del CF-Lite source code (el enlace es para Mac OS X 10.5.7) para tener una idea de la implementación del marco.
Tenga en cuenta que si la sobrecarga de Objective-C que menciona es la sobrecarga de invocación de mensajes, hay muchas maneras de optimizarla (por ejemplo, el método -instanceMethodForSelector:
). Es muy probable que dedique más tiempo a intentar entrar en el marco de Core Foundation de lo que está tratando de optimizar el código de Objective-C para ponerlo al día.
Técnicamente, no hay clases de Core Foundation. Son tipos opacos.
- 1. Core Foundation equivalente para NSLog
- 2. ¿Diferencia entre Foundation Framework y Core Foundation Framework?
- 3. Puente ARC/GC de Dual Mode y Core Foundation
- 4. Creación dinámica de clases - Python
- 5. Creación automatizada del espacio de trabajo en Team Foundation Server
- 6. scala: creación de instancias de clases abstractas?
- 7. ¿Es posible instrumentar con clases javassist java core? Clases cargadas por el cargador de clases bootstrap
- 8. Creación de clases con propiedades privadas
- 9. Creación dinámica de clases en SQLAlchemy
- 10. Creación dinámica de clases en Objective-C
- 11. Creación de una cubierta traslúcida animatable con capas Core Animation
- 12. clases creación dinámica con Java
- 13. Creación de clases de C# en tiempo de ejecución
- 14. Creación de kernel Ninject dentro de una biblioteca de clases
- 15. Creación de instancias de objetos en las clases de prueba
- 16. Creación de diagramas de clases UML en NetBeans 7.1.1
- 17. Ventajas de utilizar Core Graphics
- 18. ¿Debo usar __bridge o __bridge_retained si estoy enlazando un objeto liberado automáticamente con Core Foundation?
- 19. Creación de jarras con múltiples clases principales en netbeans
- 20. Uso de Windows Media Foundation
- 21. ¿Qué funciones de ayudante de la Fundación Cocoa/Core Foundation te gustaría conocer hace aproximadamente 2 años?
- 22. Team Foundation Server "Build Controller"
- 23. Core Image vs Core Graphics
- 24. Windows Presentation Foundation (WPF) + Windows Identity Foundation (WIF)
- 25. Core Service 2011 - Libretas de direcciones
- 26. Weak Linking Foundation y UIKit?
- 27. ¿Cómo puedo desactivar la creación de elementos de trabajo al final de una compilación falsa de Team Foundation?
- 28. Cómo determinar la plantilla de proceso utilizada en Team Foundation Server después de la creación del proyecto de equipo
- 29. CoreFoundation vs Foundation
- 30. Xcode 3.2.1 - ¿Por qué las clases generadas por Core Data generan errores de compilación?
Gracias. Miré el paquete CF-lite, y parece que básicamente no es posible hacer tus propios tipos de CF sin usar funciones privadas/no documentadas :( Parece que voy a terminar usando el viejo caché de Obj-C e IMP. –
Si realmente lo necesita, puede escribir envoltorios estáticos estilo C para objetos Objective-C a través del almacenamiento en caché 'IMP' y acceso directo a ivar ... diablos, estoy bastante seguro de que en un entorno que no es GC también puede distribuir su propia asignación . –