Это довольно stringWithFormat
сообщение! Первое, что нужно проверить, это то, что вы получаете URL-адрес, который соответствует вашим ожиданиям.
После того, как вы получили запрос на URL-объект и рассмотреть возможность использования регулярных NSURLRequest
, он должен быть быстрее, и это не выглядит, как вы намерены повторно использовать этот объект:
// already autoreleased
NSURLRequest *request = [NSURLRequest requestWithURL:url];
Тогда вам необходимо выполнить запрос. Здесь есть два подхода. Вы будете использовать NSURLDownload
, если хотите сохранить запрос в файл. Похоже, вы хотите сделать запрос GET
на какой-то сервер электронной почты, поэтому вы, вероятно, захотите использовать другой подход: NSURLConnection
.
NSURLConnection
В основном предназначен для асинхронных запросов. Вы предоставляете делегату некоторые методы, и ваше NSURLConnection будет использовать эти методы, чтобы вы знали, когда сообщение будет выполнено; были ли ошибки; и т. д.
Добавить объект до вашего вида класс контроллера для подключения и свойство NSMutableData
. Вы начнете свою связь с (при условии, что ваш текущий класс также ваш делегат):
// initialize our storage for the file
self.downloadData = [NSMutableData dataWithLength:1024];
// create and start the connection
self.urlConnection = [NSURLConnection connectionWithRequest:request delegate:self];
if(nil == self.urlConnection) {
NSLog(@"Couldn't create connection to url %@", url);
}
В вашем коде где-нибудь, вероятно, ваш текущий вид контроллер-вы будете необходимости реализации этих методов:
-(void) connection:(NSURLConnection*)connection didReceiveData:(NSData*)data {
// if you have more than one NSURLConnection in this class, test against the
// connection parameter
[downloadData appendData:data];
}
-(void) connectionDidFinishLoading:(NSURLConnection*)connection {
// download completed successfully, we can do what we like with the downloadData object now
// ...
}
-(void) connection:(NSURLConnection*)connection didFailWithError:(NSError*)error {
// handle failure with the grace of Audrey Hepburn. probably log something, too
}
Возможно, вы хотите очистить параметр URLWithString, используя stringWithFormat –