Несколько параметров в NSURL объекте - PullRequest
0 голосов
/ 27 мая 2009

Я хотел бы передать несколько параметров из iphone sdk в php на стороне сервера, который взаимодействует с базой данных mySQL.

Я нашел несколько ответов о том, как это сделать, но мне трудно понять, как включить несколько параметров.

что у меня сейчас есть


- (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];
}

, который будет работать для 1 параметра, но то, что я ищу, будет что-то вроде

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

как бы я это сделал?

Ответы [ 2 ]

2 голосов
/ 27 мая 2009

Метод - initWithFormat принимает несколько аргументов для строки формата.

Так что вы можете делать такие вещи:

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

- initWithFormat работает почти идентично printf() и его вариантам.

Вот несколько printf() примеров http://stahlforce.com/dev/index.php?tool=csc02

Редактировать: Где переменные nameField, tagsField, dreamEntry определены и установлены?

Если они не являются NSString с и определены в @interface, вы не можете использовать их таким образом.

Я предлагаю жестко кодировать некоторые значения для тестирования:

    NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%@&time=%@&name=%@&category=%d&tags=%@&entry=%@", nil, nil, @"Name", nil, @"Tags", @"Dream"];
1 голос
/ 27 мая 2009

Создание NSURL не открывает связи с сервером. Это просто структура данных для хранения URL. Вы хотите прочитать о NSURLConnection .

Являются ли все переменные, которые вы передаете в своем формате, числами? %d является заполнителем для номера; %@ это объект. Очень удивительно, что вы пропускаете ноль, если вы ожидаете число, даже для целей тестирования. Это будет «работать», потому что ноль равен 0, но это говорит о том, что это не совсем числа.

...