usar tutorial programar programacion para mac español desde curso como cero anaya xcode cocoa cocoa-touch interface-builder

tutorial - ¿Existe una guía fácil de entender(nueva para Cocoa, Xcode, etc.) para Interface Builder que habla sobre los objetos proxy?



tutorial xcode 9 español (4)

Apple tiene el siguiente documento que explica los objetos del marcador de posición del propietario del archivo , el primer respondedor y la aplicación que se encuentran en los archivos NIB / XIB de Interface Builder aquí:

Guía del usuario de Interface Builder: Placeholder Objects

Me di cuenta en su pregunta que usted mencionó leer los documentos de Interface Builder de Apple, pero sentí que es apropiado publicar esto aquí para referencia futura. Además, los documentos se han actualizado desde que se hizo la primera pregunta, por lo que es posible que hayan aclarado las cosas desde entonces.

En el día de C / C ++, la parte del lenguaje que realmente me colmaba era punteros. Los entiendo ahora, por supuesto.

Ahora, Objetos Proxy de Interface Builder o más importante, cómo usar Interface Builder y qué poner en la ventana .XIB (ventana que contiene el Propietario del Archivo, First Responder, etc ...) para un XIB determinado.

He analizado bastantes ejemplos de libros y ejemplos encontrados en ejemplos de Xcodes y en la web. Han sido útiles, pero aún me siento un poco perdido.

Creo que comprender IB es muy importante para entender cómo escribir aplicaciones Mac / iPhone / iPod touch.

Hasta ahora, he analizado los siguientes recursos: Programación Cocoa de Aaron Hillegass para Mac OS X Recursos del programador pragmático: ser productivo en Xcode (screencast) Codificación Cocoa Programming en Objective-C 2.0 (screncast) Escribir tu primera aplicación para iPhone (screencast) iPhone Desarrollo de SDK

También revisé el PDF de la guía de usuarios de Interface Builder de Apple.

¡Cualquier sugerencia / recurso sugerido será apreciado!


Con la excepción de "Propietario de archivo" (que se conecta cuando se carga el nib / xib), los objetos que crea en IB son objetos reales, no objetos proxy.

Es posible que desee consultar algún código de ejemplo existente para ver cómo IB enlaza las cosas. ¿Hay algo en la documentación / tutoriales que hayas leído que te confunda? Es difícil hacer mucho con "un poco perdido".



Primero, el marcador de posición es una palabra mejor que el proxy aquí.

Normalmente, cuando tienes un objeto en un archivo NIB / XIB, significa que la carga del archivo NIB creará esa instancia. Los objetos de marcador de posición son objetos que ya existirán cuando se carga el archivo NIB y aparecen dentro del NIB para que pueda establecer conexiones entre los objetos que se crearán al cargar el NIB y los objetos que ya existen.

El propietario del archivo, el primer respondedor y la aplicación son todos marcadores de posición.

El propietario del archivo es marcador de posición para el objeto que cargará el plumín. Todos los métodos de carga NIB toman un parámetro ''propietario''. Cuando establece una conexión con el propietario del archivo, cuando se establece en tiempo de ejecución, se conecta al objeto propietario pasado al método de carga de punta. Muchas clases de UIKit y AppKit invocan los métodos de carga de puntadas para usted. NSApplication , NSViewController , NSWindowController , UIApplication y UIViewController cargan archivos NIB en su nombre. Cuando lo hacen, pasan self como parámetro del propietario a los métodos de carga de la punta. Es por eso que cuando usa un controlador de vista o un controlador de ventana, establece el propietario del archivo en su subclase y realiza la mayoría de las conexiones entre sus vistas y el propietario del archivo.

La instancia NSApplication es un simple marcador de posición para [NSApplication sharedApplication] . Es un singleton global y el ícono en Interface Builder representa ese singleton global. Cargar el archivo NIB no crea una segunda instancia NSApplication . Por el contrario, cuando un archivo NIB contiene una ventana, si la carga una docena de veces, tendrá una docena de instancias de ventana, pero todavía una instancia NSApplication .

El primer respondedor es único. Conectar una acción al primer respondedor significa que cuando se dispara la acción, debe enviarse dinámicamente a la cadena de respuesta. La cadena de respuesta típicamente comienza con la vista enfocada, y continúa hacia arriba a través de la jerarquía de vista e incluye algunos controladores y delegados. Cada objeto en la cadena tiene una oportunidad de manejar la acción. Los elementos del menú funcionan muy bien con la cadena de respuesta. Si tiene un elemento de menú para "Hacer negrita" que se supone que hace que el texto actualmente seleccionado sea negrita, puede comenzar por conectarlo a una subclase NSApplication , pero entonces tendría que conocer todas las situaciones que "Hacen negrita". "se aplica y cómo manejarlos. Una vista de texto y una vista web editable probablemente necesitarían un código diferente para manejar "hacer negrita" y embotellar todo esto en un objeto se volvería bastante complejo y no sería muy extensible. En su lugar, puede conectar la acción del elemento de menú "Hacer negrita" hasta una acción makeBold: en el Primer Respondedor. Esto significa que cuando se seleccionó el elemento del menú, el objeto enfocado, o uno de sus padres que respondió a makeBold: obtendría el mensaje makeBold: Ahora muchas clases pueden implementar un método makeBold: y responder a este elemento del menú cuando están enfocadas.