Cargar datos en un website desde iOS Objective-C

Soy un noob completo cuando se trata de la conectividad del website de iOS objective-c. Necesito a alguien que me indique la dirección correcta sobre cómo upload / enviar datos (es decir, una publicación) al website que mi amigo programó en Ruby on Rails.

El website está utilizando los services de Heroku y está conectado a una database PostgreSQL.

Descubrí una manera de extraer datos del sitio usando un JSON Parser (SBJson) a través del siguiente código:

SBJsonParser *parser = [[SBJsonParser alloc] init]; NSString *rawJSON = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:aURL]]; anNSDictionaryObject = [[parser objectWithString:rawJSON error:nil] copy]; 

He buscado por todas partes, pero por alguna razón no puedo entender cómo upload datos. ¿Necesito acceder a la database directamente? ¿Debo upload los datos en el mismo formatting que lo hice?

No estoy seguro si proporcioné suficiente información pero cualquier ayuda sería apreciada. Avíseme si necesita más información.

Primero debe asegurarse de que el service web expone la creación o actualización de objects a través de una API (nunca debería necesitar acceso directo a la database). Normalmente, en REST (y Rails) la convención es usar POST para crear y PUT para actualizaciones. Por ejemplo:

 POST /user.json { user: { name: "...", email: "..." } } 

O:

 PUT /users/:id.json { user: { name: "...", email: "..." } } 

Una vez que tenga esta configuration en su server, use su biblioteca JSON para serializar su object y una biblioteca HTTP para realizar la publicación en su cliente iOS. Recomiendo JSONKit y HTTPRiot, ya que proporcionan un medio simple para interactuar con los serveres RESTful.

Tu amigo debe exponer un REST Api desde la aplicación de Rails (si estás siguiendo MVC, e incluso andamios de Rails, entonces estos deberían estar prácticamente construidos de todos modos).

Dentro de la aplicación iOS, probablemente desee enviar una request asíncrona para que el subprocess principal de la UI no se bloquee. Deberá crear una NSMutableURLRequest con los datos de publicación y luego enviar los datos con NSURLConnection sendSynchronousRequest

Echa un vistazo a StorageRoomApp tienen un gran service y un gran apoyo. Aplicación de sala de almacenamiento