Как отправить NSMutableDictionary через http POST в Objective-C

У меня есть NSMutableDictionary с некоторыми данными песни (например, ключ: объект «Artist»: «Passion Pit»), который мне нужно отправить на сервер в виде переменных http POST. Я весь день читаю примеры и не могу понять, как преобразовать значения и ключи моего словаря, а затем отправить их по URL-адресу.

Предоставляет ли iPhone SDK средства для этого или есть исходный код, который мне следует скачать?

Спасибо за помощь!


person Chris    schedule 29.05.2011    source источник


Ответы (1)


Самое простое решение — использовать библиотеку ASIHTTPRequest. Вот пример из документации:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"Ben" forKey:@"first_name"];
[request setPostValue:@"Copsey" forKey:@"last_name"];
[request setFile:@"/Users/ben/Desktop/ben.jpg" forKey:@"photo"];
person Anton    schedule 29.05.2011
comment
Итак, если у меня в словаре около 15 элементов, вероятно, лучше всего использовать цикл? Кроме того, как только запрос будет правильно заполнен, как мне его отправить? - person Chris; 30.05.2011
comment
@Chris Все есть в документах. Либо установите делегата, либо используйте startAsynchronous или startSynchronous, если вам это действительно нужно. - person Anton; 30.05.2011
comment
Я пытался заставить эту штуку ASI работать, и это ужасно. Он неполный при загрузке, а затем вы добавляете этот набор классов GHUnit, которые добавили 67 ошибок для работы по поводу отсутствия правильных файлов. Боже мой, есть ли другой способ сделать это? - person Chris; 30.05.2011
comment
@Chris, вы всегда можете использовать NSURLConnection: например, посмотрите deanoj.co.uk/ios-development/ - person Anton; 30.05.2011