Pregunta

Me gustaría pasar varios parámetros desde el SDK de iPhone a un php del lado del servidor que conecta con una base de datos MySQL.

He encontrado algunas respuestas sobre cómo hacer esto, pero estoy teniendo un tiempo difícil encontrar la manera de incluir varios parámetros.

lo que tengo en este momento es


- (IBAction)sendButtonPressed:(id)sender
{
    NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%d", theDate];
    NSURL *url = [[NSURL alloc] initWithString:urlstr];

    [urlstr release];
    [url release];
}

que funcione durante 1 parámetro, pero lo que estoy buscando sería algo así como

http://server.com/file.php?date=value&time=value&category=value&tags=value&entry=value

¿Cómo puedo ir haciendo esto?

¿Fue útil?

Solución

El método - initWithFormat toma varios argumentos para la cadena de formato.

Por lo que puede hacer cosas como esta:

  NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%d&second=%d&third=%d", theDate, 2, thirdIVar];

- initWithFormat funciona casi igual a printf() y sus variantes.

Aquí hay algunos ejemplos printf() http://stahlforce.com/dev/index. php? = herramienta csc02

Edit: ¿Dónde están las variables nameField, tagsField, dreamEntry definen y establecen

A menos que sean NSStrings y se definen en el @interface no se les puede utiliza de esta manera.

Sugiero codificación dura algunos valores para la prueba:

    NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%@&time=%@&name=%@&category=%d&tags=%@&entry=%@", nil, nil, @"Name", nil, @"Tags", @"Dream"];

Otros consejos

Creación de un NSURL no una comunicación abierta con un servidor. Es sólo una estructura de datos para la celebración de una URL. ¿Quieres leer sobre NSURLConnection .

¿Son todas las variables que está pasando en su formato realmente números? %d es el marcador de posición para un número; %@ es un objeto. Es muy sorprendente que pasa a ser nula si usted está esperando un número, incluso para propósitos de prueba. Se va a "trabajar" porque nula es 0, pero sugiere que estos no son realmente números.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top