En ciertos casos, la FQ puede ser más rápida que las clases de colección estándar de Foundation. Por ejemplo, si desea almacenar una matriz de enteros de tamaño de puntero sin caja, no puede hacerlo de manera particularmente eficiente usando NSArray (cada valor tendría que estar en un NSNumber), pero puede hacerlo fácilmente usando una CFArray con un parámetro de devolución de llamada NULL en el constructor.
Por supuesto, para este ejemplo en particular, resulta que puede usar otra clase de Foundation que muy pocas personas usan (NSPointerArray) para almacenar entradas sin caja. NSMapTable y NSHashTable son estructuras de datos que también se pueden usar para fines similares.
Sin embargo, en general, recomendaría seguir los consejos de Justin y escribir a la Fundación, y solo ir a la FQ cuando sea completamente necesario. Debido a que la mayoría de las clases de Foundation son gratuitas para las clases de CF, lo que está pagando principalmente es el costo de objc_msgSend frente a una llamada de función C estándar, y en la mayoría de las aplicaciones el envío de mensajes no será un cuello de botella.
- ¿Qué computadora portátil es mejor para un desarrollador de software con un presupuesto de aproximadamente $ 960?
- ¿Qué camino debe seguir un desarrollador web después de realizar una Licenciatura en Ingeniería de Software?
- Buscando socios de desarrollo offshore para una startup. ¿Alguien puede recomendar una empresa? Buscando a ambos, con sede en los Estados Unidos o socios externos. Se prefieren socios de desarrollo con sede en EE. UU.
- ¿Cuáles son algunas prácticas de desarrollo de software que se usan al construir microservicios?
- ¿Por qué hay muchos más programadores mejores en C que en C ++ cuando C es simplemente básico y no ofrece ninguna protección?