name keywords etiquetas etiqueta ejemplos description content objective-c ios cocoa proxy nsproxy

objective c - keywords - ¿Ejemplos reales donde la clase NSProxy es útil y por qué?



meta tags ejemplos (1)

Me he estado preguntando por qué es tan importante la clase NSProxy. ¿Por qué un objeto necesita mantener sus variables de instancia dentro de otros objetos? Necesito ejemplos para entender cuándo usarlo. ¡Gracias!


Ejemplo A: imagine que estaría escribiendo una capa de persistencia de objeto (como CoreData, pero mucho mejor, por supuesto;)).

Digamos que puede completar una consulta de miles de elementos en su base de datos de manera realmente rápida simplemente mirando el árbol de índice, sin el costo de leer e inicializar el ítem completo. Puede usar NSProxy para implementar la carga diferida. Use su tabla de índice para ubicar la clave principal del objeto, pero en lugar de crear ese objeto, devuelva un NSProxy que conozca la clave principal del objeto real.

Solo cuando se requiere otra búsqueda en la base de datos, el objeto proxy crea el elemento y redirige a él todos los mensajes futuros. El código de llamada solo trataría con el elemento NSProxy, y nunca ahora sobre la carga lenta realizada bajo el capó.

Ejemplo B (esto es OS X, lo siento): NSOutlineView se comporta realmente extraño, cuando tiene el mismo elemento en la jerarquía de esquema dos veces. Problema muy común cuando tienes una función de grupo inteligente en tu aplicación. La solución: use diferentes proxies en la vista de esquema, apuntando al mismo objeto.