Restkit Objective-C: la request de publicación solo funciona una vez

Estoy usando Restkit para comunicarse con Drupal CMS. Cuando envío la primera request, todo funciona bien: obtengo la cadena JSON correcta -> impresionante. Esto es lo que dice la console:

2011-06-24 23: 00: 48.344 MyApp [1399: 207] Envío de request POST a la URL http://mysite.com/myproject/services/rest/service_views/get.json . Cuerpo HTTP: view_name = nombre de las vistas

Si la aplicación intenta enviar la misma request nuevamente, no pasa nada. No se llama a ninguno de los methods delegates. La console dice:

2011-06-24 23: 03: 40.224 MyApp [1399: 207] Envío de la request GET a la URL http://www.mysite.com/myproject/services/rest/service_views/get.json . Cuerpo HTTP:

Estoy haciendo todas las cosas de Restkit en una class especial (singleton), que conservo como una variable de instancia de mi view-controller. En la function inicial de esta class, estoy haciendo esto:

RKObjectManager* objectManager = [RKObjectManager objectManagerWithBaseURL:kBaseURLKey]; 

En mi controller de vista, estoy llamando a una function - (void)pollForNewData , que hace lo siguiente:

 RKObjectLoader* objectLoader = [[RKObjectManager shanetworkingManager] loadObjectsAtResourcePath: kRessourceKey objectClass:[RKNotification class] delegate:self]; objectLoader.method = RKRequestMethodPOST; objectLoader.params = [NSDictionary dictionaryWithKeysAndObjects: @"view_name", @"viewsname", nil]; [objectLoader send]; 

¿Puede alguien ayudarme? ¿Tengo que hacer algo especial después de la primera respuesta? ¿Es posible cancelar una request (si se dejó la vista actual)?

La fuente actual de RestKit (~ 0.9.2 +) no parece tener loadObjectsAtResourcePath: objectClass: delegate: method.

Usted podría usar algo como esto:

 // It's for logging in Drupal's user resource with RestKit. // You can change the user bits to your need. RKObjectManager *objectManager = [RKObjectManager shanetworkingManager]; RKObjectMapping *currentUserMapping = [objectManager.mappingProvider objectMappingForKeyPath:@"currentUser"]; RKObjectLoader *objectLoader = [objectManager objectLoaderWithResourcePath:@"user/login" delegate:self]; objectLoader.method = RKRequestMethodPOST; objectLoader.objectMapping = currentUserMapping; objectLoader.params = [NSDictionary dictionaryWithObjectsAndKeys: @"testuser", @"username", @"testpass", @"password", nil]; [objectLoader send]; 

Espero eso ayude.

    Intereting Posts