P. 1
Tutorial de RestKit en XCODE

Tutorial de RestKit en XCODE

|Views: 727|Likes:
Publicado porCarlos Obregón

More info:

Published by: Carlos Obregón on May 28, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

07/12/2013

pdf

text

original

RestKit es una biblioteca de gran alcance que simplifica la interacción con los servicios web para aplicaciones de iOS

. En este artículo, escrito por RestKit creador y dos tostadoras Watters CTO Blake, vamos a echar un rápido recorrido por conjunto de características RestKit, el familiarizarse con los conceptos básicos presentados por la biblioteca, y luego explorar algunos ejemplos de código para tener una idea de lo que trabajo con RestKit es en realidad.

¿Qué es RestKit?
RestKit es un marco de Objective-C para iOS que tiene como objetivo hacer la interacción con servicios web RESTful sencillo, rápido y divertido. Combina un limpio, simple solicitud / respuesta HTTP API con un sistema objeto de asignación de gran alcance que reduce la cantidad de código necesario para escribir en "conseguir cosas por hacer". Objetivo principal RestKit es permitir al desarrollador a pensar más en términos de modelo de su solicitud de datos y se preocupan menos acerca de los detalles de envío de peticiones, el análisis de las respuestas, y la construcción de las representaciones de los recursos remotos.

¿Qué RestKit ofrecer?

Un simple y de alto nivel de solicitud HTTP / sistema de respuesta. Barcos RestKit con un cliente HTTP integrado en la parte superior de la NSURLConnection y proporciona una biblioteca de métodos útiles para la inspección de los tipos MIME y los códigos de estado. Presentar el formulario de datos es tan simple como proporcionar un diccionario de parámetros y un objeto params nativa se incluye para crear fácilmente presentaciones de varias partes. Soporte simple para la carga de streaming de archivos de gran tamaño (por ejemplo, vídeos) también se proporciona. Marco de apoyo a nivel de conmutación de servidores y entornos (por ejemplo, desarrollo, producción, puesta en escena). RestKit utiliza un URL de base y las rutas de los recursos en lugar de URL completa es que permiten cambiar los servidores de destino con rapidez. Interpolación de cadenas de direcciones URL y la construcción de objetos NSURL es una cosa del pasado. Un sistema de asignación de objetos. RestKit proporciona una capa de modelado para la asignación de cargas útiles de procesado de datos en los objetos Cocoa nativos de forma declarativa. De este modo, la parada del programador de la aplicación de preocuparse por el análisis y sólo le pedimos el marco para recoger de forma asincrónica a un recurso remoto y llamar al delegado con los resultados. Mapeo de objetos se realiza utilizando la codificación de valores clave, que permite una rápida travesía del gráfico de objetos analizados. La reflexión se utiliza en los tipos de propiedad que permite la asignación de los valores que no tienen representación directa en el formato de codificación, tales como la asignación de JSON marcas de tiempo codificados como una cadena de NSDate objetos. Datos Básicos de apoyo. La construcción en la parte superior de la capa de mapeo objeto, RestKit proporciona una integración con el sistema central de Apple el marco de Datos. Este soporte permite RestKit de persistir objetos a distancia cargados directamente de vuelta a una tienda local, ya sea como una memoria caché rápida local o un almacén de datos principal que se sincroniza periódicamente con la nube. RestKit puede rellenar los datos básicos para que las asociaciones, lo que permite la propiedad natural de acuerdo con el recorrido de su modelo de datos. También proporciona un API bien en la parte superior de las primitivas básicas de datos que simplifica la configuración y las consultas de casos de uso.

Si desea instalar un cartucho o construir la biblioteca de ti mismo. Se añade a los Grupos y archivos de sección en el panel izquierdo del proyecto. Cuando el almacén de objetos de Datos Básicos se utiliza. 3. Rieles de integración. Rails se ha utilizado como el back-end para una serie de aplicaciones iOS RestKit potencia y llave en mano se presta apoyo para interactuar con una aplicación Rails back-end.9. Base de datos de la siembra.0 partir de este escrito). Seleccione los objetivos apropiados y haga clic en "Añadir" cuando la hoja aparece. Un módulo opcional está incluido en la distribución que permite RestKit interfaz con Three20 a través del protocolo TTModel. Esto le permite enviar sus aplicaciones para la App Store con una base de datos en el paquete de aplicación que está listo para su uso inmediato. Análisis se lleva a cabo detrás de una sencilla interfaz para permitir que los formatos de datos adicionales que se maneja de forma transparente.    Conectarse y empezar a RestKit está disponible como un paquete binario para descargar. 2. . RestKit fue diseñado originalmente como una respuesta de Objective-C y de recursos activos. Arrastre el archivo RestKit.xcodeproj a su archivo de proyecto de Xcode. como una instantánea de versiones. Para los usuarios de la biblioteca interesados en hacer el desarrollo. Experimental Three20 integración. por favor consulte la documentación disponible en Github. o como un submódulo Git si desea seguir el desarrollo de la línea principal. RestKit se utiliza a menudo junto con el marco Three20. Descomprimir el archivo donde quieras para mantener las bibliotecas (el autor recomienda una biblioteca subdirectorio).org y descargar la última versión (v0. se puede sembrar una base de datos de una colección de archivos de datos. Capa de análisis enchufable. Jefe de restkit. Puede instalar RestKit en unos pocos y sencillos pasos: 1. RestKit actualmente soporta JSON a través de la SBJSON y analizadores YAJL. se recomienda utilizar los paquetes binarios versionados por la sencillez de instalación.

busque las entradas para libRestKitSupport.a y libRestKit JSONParserYAJL.xcodeproj en su proyecto Grupos y Archivos de la sección. libRestKitObjectMapping. Si desea utilizar el soporte de Datos Básicos. haga clic en la casilla de verificación junto alibRestKitCoreData.a y haga clic en las casillas de verificación de la extrema derecha debajo del icono de destino de plata. Haga clic en la entrada para RestKit.4.a . Su proyecto debería aparecer algo parecido a la siguiente pantalla: .a también.libRestKitNetwork.a . Esto vincular su proyecto contra la RestKit. En el panel derecho.

5. Haga clic derecho en el objetivo de su aplicación y selecciona "Obtener información" en el menú para abrir la ventana de destino Información inspector. . Encuentre el destino para su aplicación en la Metas sección de su proyecto.

. En la parte superiordependencias directas sección.6. haga clic en el botón más y agregar una dependencia directa de la meta RestKit. Usted debe estar buscando en el general ficha del inspector de tu objetivo.

Obligatorio.framework . CoreData. 2.framework . 4. Haga clic en el botón más para abrir la hoja de selección de los marcos.Necesario para el soporte de red. Ahora mira a la parte inferior de la general panel etiquetados bibliotecas vinculadas .Obligatorio.Necesario para la detección de la disponibilidad de la red. Se requiere para el uso de los datos básicos respaldados almacén de objetos persistentes. .framework . 3.7. CFNetwork. MobileCoreServices. Buscar y seleccionar los siguientes marcos y haga clic en "Añadir": 1. SystemConfiguration.framework . Proporciona soporte para el tipo MIME de detección automática de los archivos subidos.

Asegúrese de que su configuración en el menú emergente lee todas las configuraciones para que los cambios van a funcionar para todas las configuraciones de generación. Cambie a la 'Build' ficha en el inspector de proyecto.8. .

. . la ruta de cabecera sería "Bibliotecas / RestKit / Build". Haga doble clic en él y añadir entradas para-all_load y ObjC. Cuando se compila RestKit. Ahora encuentra el vinculador Otros Banderas ajuste. si ha marcado el cartucho hacia el subdirectorio 'bibliotecas' de su proyecto.Por ejemplo. Su configuración debe coincidir con la imagen de abajo. Es necesario añadir una ruta de acceso al / directorio de construcción de RestKit.9. Haga doble clic y agregar una nueva entrada. en relación con el archivo del proyecto. Encuentra la búsqueda de cabeceras Caminos ajuste. copiará todas las cabeceras correspondientes a la ubicación adecuada en el directorio / directorio de construcción dentro de la caja RestKit.

Cierre la ventana de inspección. ahora se hacen añadiendo RestKit en su proyecto! .10. Felicitaciones.

La responsabilidad principal del nivel de red es la construcción y el envío de peticiones y el procesamiento de las respuestas. } El RKClient primera vez que se inicializa automáticamente se configura como la instancia singleton y se hace disponible a través de la sharedClient método singleton: la vista copia al portapapeles de impresión ? 1. Echemos un vistazo a una clase de ejemplo que muestran los aspectos básicos: la vista copia al portapapeles de impresión ? 1. 2. Una vez que haya verificado que se han RestKit vinculados en el proyecto de forma correcta. usted enviará a todas las solicitudes a través de la clase RKClient.h> / / Si está utilizando datos básicos . Al cursar una solicitud a través del cliente. PUT y DELETE. Sólo es necesario declarar que una clase implementa el protocolo RKRequestDelegate y luego proporcionar una implementación de la solicitud: didLoadResponse: método. # Import <RestKit/RestKit.h> / / Aquí declaramos que aplicar el protocolo RKRequestDelegate . 2. # Import <RestKit/RestKit. 3. NSLog (@ "Yo soy tu RKClient singleton:% @" . no es una instancia compartida singleton que es disponible a nivel mundial.Ahora sólo tendrá que añadir includes de las librerías RestKit en los lugares apropiados en su aplicación.( void ) applicationDidFinishLaunching: (*) UIApplication withOptions de aplicación: (NSDictionary *) {opciones RKClient * client = [RKClient clientWithBaseURL: @ "http://restkit. El envío de peticiones y respuestas de procesamiento Todas las funcionalidades de RestKit de nivel superior se construye en la parte superior de la capa de red. RestKit hace muy fácil para usted y abstrae los detalles de bajo nivel de NSURLConnection lejos de ti. Usando RestKit RestKit está diseñado para hacer tareas comunes tan sencillo y simple como sea posible. . En esta sección se ejecutará a través de muchas tareas comunes en la biblioteca y se centran en ejemplos de código para ayudarle a empezar a trabajar con la biblioteca. Genere el proyecto para asegurarse de que todo está funcionando correctamente. En general.La referencia se incluyen son: la vista copia al portapapeles de impresión ? 1. Dado que la acción más común en una aplicación iOS está haciendo una solicitud asincrónica a un servicio Web remoto. usted puede enviar y procesar peticiones HTTP a través del cliente.. Esta instancia singleton se configura a menudo en su aplicación delegado de applicationDidFinishLaunching: withOptions: método: la vista copia al portapapeles de impresión ? 1. usted está listo para comenzar a usar la biblioteca. Aunque usted es libre de iniciar tantas instancias de RKClient como es apropiado para su aplicación. POST.org" ]. Se inicia con una URL base y le permite establecer la configuración que es común a las peticiones de la aplicación. Ahora que tiene configurado un cliente. 2.h> # Import <RestKit/CoreData/CoreData. [RKClient sharedClient]). RKClient es un objeto de cliente web configurado para comunicarse con un servidor web en particular.. RestKit ofrece muy directo métodos de conveniencia para los verbos HTTP: GET. 3. debe proporcionar la ruta del recurso en el servidor web remoto que desea interactuar. como los encabezados HTTP y la información de autenticación.

Hay un número de métodos auxiliares disponibles en RKRequest y RKResponse que hacer inspeccionar su estado petición muy fácil.h de métodos delegados adicionales / / Que están disponibles. 27. 30. 14. 29. 16. } } } @ End Como puede ver. 21. } } otra cosa . [[RKClient sharedClient] mensaje: @ hace "/" other. / / Eliminar un recurso remoto desde el servidor [[RKClient cliente] delete : @ "/ missing_resource. pero a partir de la capa de mapeo objeto que se encuentra en la parte superior de la misma. pero eso es sólo la punta del iceberg. 8. 22. 7. 24. 10. 15. 11.xml" delegado: auto]. 50. 5. / / Hora de salida RestKit / Red / RKRequest. el código es muy breve y legible. 39.json si ([respuesta isJSON]) { NSLog (@ "Tengo una copia de la respuesta JSON a partir de nuestro post!" ). 25. 19.txt si ([respuesta isNotFound]) { NSLog (@ "'% @' La ruta del recurso no se ha encontrado.4. 38. . 12.xml si ([respuesta de Isok]) { / / ¡Listo! Echemos un vistazo a los datos NSLog (@ "Obtenido XML:% @" . 35. 26. si ([isDELETE solicitud]) { / / Manejo de DELETE / missing_resource. 43. 44.( void ) Solicitud: (RKRequest *) didLoadResponse petición: (RKResponse *) {respuesta si ([solicitud de isGET]) { / / Manejo de GET / foo. 36. 23.txt" delegado: auto]. 18. 17. 33. / / Enviar un POST a un recurso remoto. 45. Volviendo una respuesta XML o JSON y analizarlo. 34. [la respuesta bodyAsString]). 46. 51. Asegúrese de leer los encabezados y familiarizarse con lo que está disponible. 37. El envío de una solicitud a un servicio Web remoto. 49. 41. 40. 9. Mapeo de objetos es la solución RestKit para simplificar y secar el exceso de flujo de trabajo detallado de: 1." . [petición de resourcePath]). 28. 31. 47. si ([solicitud de isPost]) { / / Manejo de POST / other. 2. 32.json params: delegado params: auto]. 20. @ Interface RKRequestExamples: NSObject <RKRequestDelegate> { } @ End @ RKRequestExamples ejecución . 6.( void ) {sendRequests / / Realizar un simple HTTP GET y me llaman de vuelta con los resultados [[RKClient sharedClient] obtenemos: @ "/ foo. Poder real RestKit no proviene de la capa de red. Una introducción a objeto de asignación de Envío y recepción de las peticiones HTTP con tanta facilidad es grande y todo. } } otra cosa . El diccionario será transparente / / Convierte en una representación URL codificada y enviada a medida que el cuerpo de la petición NSDictionary * params = [NSDictionary dictionaryWithObject: @ "RestKit" forKey: @"Remitente" ]. 48. 42. 13. } .

@ "nombre" . RKObjectManager es su puerta de entrada al mundo de la asignación de objetos. NSString * _nosotros. vamos a imaginar que nuestra aplicación tiene un concepto ligero contacto que contiene un nombre. NSString * _name. Mediante la implementación del protocolo de RKObjectMappable. retener) NSString empresa *. retener) NSString * nombre. 6. 2.3. que define un diccionario de caminos principales y los nombres de propiedad. @ Contacto aplicación . 4. 6. La clave de este proceso es la elementToPropertyMappings método. en los proyectos donde se utiliza el mapeo objeto amplio será el lugar de iniciar RKObjectManager RKClient. 5. 1. Por mucho que RKClient trata de abstraer los detalles más técnicos de tramitación de las solicitudes. hemos creado RKObjectManager y ejecutar un GET en el expediente. Para ello. 9. 3. 8. 10. En . que está configurando RestKit a los atributos de mapa dentro de una carga útil de recuperar a las propiedades de la clase del modelo. RKObjectManager va a construir y configurar una solicitud de RKObjectLoader asincrónica para usted y lo enviará al servidor remoto para su procesamiento. 11. 9. Las rutas principales son la clave de codificación de las cadenas de valor compatibles para acceder a datos en un documento analizado. 10. 3. 'Nombre' : 'Blake Watters .(NSDictionary *) elementToPropertyMappings { retorno [dictionaryWithKeysAndObjects NSDictionary: @ "id" . @ "nombre" . 4. @ End Vamos a reunir una clase RKObject para contener estos datos: Ahora sólo tenemos que decirle RestKit la forma de asignar los datos de la carga útil de nuestras propiedades: la vista copia al portapapeles de impresión ? 1. } @ Property (no atómica. El nombre de propiedad es simplemente el nombre de cadena de una propiedad en la clase para asignar los datos consultados a. una dirección de correo electrónico y un número identificador. 11. Modelado y Carga de objetos remotos Mapeo de objetos requiere que se proporcione una clase de modelo de datos para representar los objetos remotos. @ Property (no atómica. nil]. 2. @ Property (no atómica. Imaginemos que este disco reside en nuestro servidor remoto / contacts/1234 . RKObjectManager trabaja duro para que te proteja de las complejidades de la transformación de cargas de datos en objetos. 'Compañía' : 'Dos tostadoras' } @ Interface Contacto: {RKObject NSNumber * _identifier. 5. { "id" : 1234. 8. El JSON se parece a esto: la vista copia al portapapeles de impresión ? 1. 2. } @ End Ahora estamos listo para cargar los datos. Por mucho que RKClient es su puerta de entrada a una vida más sencilla con HTTP. 7. 7. @ "sociedad" . Para ilustrar estos puntos. 3. De hecho. @ "identificador" . @ "sociedad" . Tomando la respuesta analizada y la asignación de los valores dentro de la carga útil a los objetos. retener) NSNumber * identificador.

5.. contact.id. 4. todo el proceso es muy baja la ceremonia y se seque completamente. 13. .( void ) objectLoader: (RKObjectLoader *) didFailWithError objectLoader: (NSError *) error { 14. } 12.company). RKDynamicRouter router * = [RKDynamicRouter nueva ]. [Gerente de loadObjectsAtResourcePath: @ hace "/ contacts / 1" objectClass: [Contacto de clase ] delegado: auto] } Como puedes ver. La pieza notable en la configuración es el uso de paréntesis en la trayectoria de los recursos para la ruta predeterminada. 4. 2. 11.lugar de aplicar los métodos de bajo nivel RKRequestDelegate que se ocupan de las solicitudes y respuestas. 6.( void ) {loadContact * Administrador de RKObjectManager = [RKObjectManager objectManagerWithBaseURL: @"http://restkit.name. 2. Configuración de las rutas Carga de objetos es sólo la mitad de la historia. usted también necesita ser capaz de crear. 7. / / Métodos RKObjectLoaderDelegate 7. error). en lugar de ello poner en práctica el protocolo de RKObjectLoaderDelegate y se volvió a llamar con una colección de objetos mapeados o un error. El encaminamiento está habilitado mediante la asignación de una instancia de un objeto que implementa el protocolo RKRouter a la RKObjectManager y configurar el router correctamente. } . ubicación:% @" . [RouteClass router: [Contacto de clase ] toResourcePath: @ "/ contactos" forMethod: RKRequestMethodPOST]. Echemos un vistazo a un ejemplo de configuración utilizando RKDynamicRouter y nuestro ejemplo de contacto: la vista copia al portapapeles de impresión ?      1. NSLog (@ "Se ha encontrado un error:% @" .( void ) objectLoader: (*) RKObjectLoader didLoadObjects objectLoader: (NSArray *) {objetos 9. 8. Dentro de los paréntesis se puede especificar cualquier método de instancia en . Volviendo al ejemplo de los contactos arriba. RestKit ofrece un sistema de enrutamiento que es capaz de generar caminos de recursos para un objeto. Un factor de confusión en estas interacciones a menudo es que el camino de los recursos de que un objeto reside en es específica para cada caso. 6. 15. Enrutamiento está diseñado para ser un sistema extensible para proporcionar flexibilidad. [RKObjectManager sharedManager] = router de router. imagino que todo el mundo de los contactos es representado por los siguientes pares de verbos HTTP y caminos de recursos: GET / contactos devuelve todos los contactos como una colección Publicad contactos crea un nuevo contacto GET / contacts / <id> vuelve a los datos de contacto particulares PUT / contacts / <id> actualizaciones de un Datos de contacto existentes DELETE / contacts / <id> elimina un contacto existente Para evitar ensuciar el código con las convenciones y los caminos de los recursos. contact. . 10. Para interactuar realmente con un servicio Web remoto. contact. pero los barcos RestKit con una implementación muy capaz en la clase RKDynamicRouter. actualizar y eliminar instancias de objetos remotos. NSLog (@ "Contact ID Loaded #% @ -> Nombre:% @.org" ]. 3. Echemos un vistazo a este código: la vista copia al portapapeles de impresión ? 1. / / Definición de una ruta del recurso por defecto para todos los verbos HTTP sin especificar [RouteClass router: [Contacto de clase ] toResourcePath: @ hace "/ contactos / (identificador)" ]. 3. 5. * Contacto contacto = [objectAtIndex objetos: 0].

( void ) {updateObject * El contacto con Blake = [Contacto objeto]. 2.company = @ "RestKit" . mientras que POST se generan o contactos. 24. 16.identififer = [NSNumber numberWithInt: 1]. y procesada la respuesta para usted.company = @ "dos tostadoras" . } . blake. Manipulación de objetos remotos Ahora que hemos configurado el enrutamiento. 13. } Lo que hemos hecho aquí se utiliza el poder combinado de mapeo de objetos y enrutamiento para llevar a cabo manipulaciones de muy alto nivel en los objetos locales y remotos. La dirección URL base es simplemente la parte común de toda la URL a la aplicación remota y se utiliza para inicializar instancias de las clases y RKClient RKObjectManager. En nuestro ejemplo anterior. 9. Revisión de los conceptos clave   . / / POST a / contacts [[RKObjectManager sharedManager] postObject: delegado JoeBlow: auto].identifier = [NSNumber numberWithInt: 1]. joeBlow. 20. 18. RestKit ha identificado la ruta adecuada de recursos para su operación.name = @ "Joe Blow" .( void ) {deleteObject * El contacto con Blake = [Contacto objeto]. podemos ver que el GET. 15. 8. / / Eliminar al / contacts / 1 [[RKObjectManager sharedManager] deleteObject: Blake delegado: auto]. 14. 23. 11. 17. Detrás de las escenas. 22. Cliente y el gestor de objetos Hay dos puntos de entrada principales para trabajar con RestKit en su aplicación: RKClient y RKObjectManager. 26. .( void ) {createObject * El contacto JoeBlow = [Contacto objeto]. 6. } . Echemos un vistazo al código un poco más y entonces vamos a caminar a través del proceso: la vista copia al portapapeles de impresión ? 1. 21. PUT y DELETE va a generar / contacts/1234. 19. / / Poner a / contacts / 1 [[RKObjectManager sharedManager] putObject: Blake delegado: auto]. Base de URL y rutas de acceso de recursos. Una ruta de acceso de recursos es simplemente el camino (o subruta) parte de la dirección URL completa de un recurso HTTP. RKObjectManager opera a un nivel más alto de abstracción en la capa de mapeo de objetos y se ocupa de la carga y manipulación de objetos que representan los recursos remotos.la clase se va a configurar y cuando RestKit genera una ruta de acceso de recursos para ese objeto. Dependiendo de lo que están tratando de lograr con RestKit. que va a trabajar mucho con uno (o ambos) de estas clases. 10. 25. podemos manipular las representaciones de objetos remotos en un nivel muy alto. blake. blake. RKClient es el principal punto de entrada cuando se trabaja con la capa de red de RestKit y se ocupa de los detalles de bajo nivel de la construcción y el envío de solicitudes. 3. creó y envió una solicitud asincrónica. joeBlow. Dado . RestKit utiliza los conceptos de "URL Base" y "Ruta de los recursos" para coordinar el acceso a las representaciones de objetos remotos. 5. 7. el valor devuelto se interpola en la cadena. 4. blake.name = @ "Watters Blake" . 12.

4. 7. @ "street_address" . tales como el análisis de una cadena que contiene una fecha en una propiedad NSDate y el acceso a datos a través de claves y valores de codificación de los operadores. Mapeo de objetos es el proceso de tomar un control remoto de JSON (o formato de conexión de otro tipo) de carga útil. Normas objeto de asignación se configuran mediante la aplicación delelementToPropertyMappings método de la RKObjectMappable protocolo: Ejemplo: la vista copia al portapapeles de impresión ? 1.org / foo / bar. RestKit va a crear y enviar una solicitud al 'http://restkit.json'.json" delegado: auto].org" ]. El sistema de enrutamiento es extensible al proporcionar su propia implementación del protocolo RKRouter. manager. 4. } @ End  Enrutamiento. [Cliente obtiene: @ "/ foo / bar.org "y una solicitud para obtener el contenido en la ruta de los recursos" / foo / bar. @ "nombre completo" . 12. 5. pero los barcos RestKit con una aplicación de gran alcance en la clase RKDynamicRouter.org" ]. 9. Esto le permite soportar fácilmente el desarrollo. el análisis en una gráfica de valor de la clave de codificación compatible NSObject. nil]. / / Enviar solicitudes POST para los casos de artículo a artículo '/' [RouteClass router: [Artículo de clase ] toResourcePath: @ "o" artículos de forMethod: RKRequestMethodPOST]. Esto le permite manipular y sincronizar los objetos locales con sus representaciones a distancia sin ver una dirección URL. 8.json '. RKClient * client = [RKClient clientWithBaseURL: @ "http:///restkit. El sistema de enrutamiento es responsable de generar caminos de recursos de instancias de objetos locales. 3. . 6. 6. 5. Ejemplo: la vista copia al portapapeles de impresión ? 1.un objeto RKClient inicia con 'http://restkit. Esto se entiende más fácilmente a través de algunos ejemplos: Ejemplo: la vista copia al portapapeles de impresión ? 1. 2. 2. El router dinámico le permite codificar los nombres de propiedades en el interior de las cadenas simples para generar las trayectorias complejas de recursos en tiempo de ejecución. La mayor parte del tiempo que va a pensar exclusivamente en términos de trayectorias de los recursos una vez que han ido más allá de la inicialización de la biblioteca. * Administrador de RKObjectManager = [RKObjectManager objectManagerWithBaseURL: @"http://restkit. la puesta en escena. RKDynamicRouter router * = [[RKDynamicRouter nueva ] autorelease]. que estén en contacto con la capa de mapeo objeto. y la aplicación de un conjunto de reglas de asignación para transformar los valores en el interior del gráfico de objetos analizado en los atributos de un modelo objeto. 11. 3. @ "streetAddress" . 10. RestKit admite la asignación de avanzada más allá de lo que se obtiene de la simple decodificación de una capacidad de carga.router = router. 7. y los entornos de producción en sus aplicaciones mediante la compilación condicional base de diferentes URL. 2.  Mapeo de objetos. @ Aplicación MiObjeto / / Mapa nombre_completo y street_adddress de carga JSON / / Propiedades FullName local y streetAddress + (*) NSDictionary elementToPropertyMappings { retorno [dictionaryWithKeysAndObjects NSDictionary: @ "nombre_completo" . Cuando se utiliza para modelar RestKit recursos remotos en objetos locales.

8. 20. comment. Comment * = [objeto Comment]. . [[RKObjectManager sharedManager] postObject: delegado comentario: auto]. Enviar mensaje de los objetos Comentario a '/ articles/1234/comments' 13. / / Teniendo en cuenta el artículo tiene un identificador de 1234. comment. 19. / / Eliminar el artículo. 26. 21.Hasta entonces. Ahora debe tener un firme entendimiento de los conceptos básicos y se sienten bien preparados para empezar a construir su próxima aplicación REST iOS. / / ArticleID es una propiedad de la clase de artículo 10. usted puede aprender más a través del código de ejemplo se incluye con la biblioteca y mediante la exploración de los recursos a continuación. 15. 29. PUT y DELETE peticiones a '/ articles / XXXX " 9. 28. / / Ahora vamos a crear un comentario sobre el artículo 25. 14. [[RKObjectManager sharedManager] deleteObject: delegado comentario: auto]. 31. 11. [[RKObjectManager sharedManager] postObject: delegado del artículo: auto]. 18.titulo = @ "Foo" . [RouteClass router: [Artículo de clase ] toResourcePath: @ hace "/ articles / (articleID)" ]. articulo. 27. Enviará GET. enviará una petición POST a / articles/1234/comments para crear el comentario 30. 23. / / Vamos a crear un artículo 17. [RouteClass router: [Comentario de clase ] toResourcePath: @ "/ articles / (article.body = @ "Este es el cuerpo" . 32.articleID) y comentarios" forMethod: RKRequestMethodPOST]. 24. / / Configuración de una ruta del recurso por defecto para los artículos. / / Envía un mensaje para los artículos o la creación de la instancia remota 22. / / Donde la observación tiene una relación con un artículo.body = @ "Este es el comentario" . incluyendo los datos básicos en nuestro próximo tutorial avanzado.article = artículo. SUPR para / articles/1234 33. article. Estamos totalmente a explorar las partes avanzadas de la biblioteca. 12. Conclusión En este artículo se ha explorado los fundamentos del trabajo con RestKit. * El artículo article = [objeto del artículo]. 16. Como mencionamos en la sección introductoria. / / Configurar Comentarios sobre el artículo. RestKit también incluye algunas características avanzadas que no fueron exploradas en este artículo.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->