Я был остановлен в своей работе небольшой проблемой: мое приложение содержит некоторые веб-запросы, которые почти сразу же выполняются, если используется Wi-Fi соединение, однако им нужно пару секунд, чтобы закончить в случае 3G или даже EDGE-соединения. В течение этого периода я хотел бы указать пользователю, что запрос выполняется, например. путем отображения сообщения на ярлыке.Предупреждение при выполнении веб-запроса?
код выглядит примерно так:
-(void)query{
alertLabel.text = @"in progress…";
// the query follows...
NSString *queryURLstring = [NSString stringWithFormat:@"http://xyz.xyz"];
NSURL *queryURL = [[NSURL alloc] initWithString:queryURLstring];
NSString *receivedData = [[NSString alloc] initWithContentsOfURL:queryURL];
//query done
alertLabel.text = @"";
}
Что происходит на практике является то, что, когда запрос выполняется, пользователь может на самом деле не делать ничего. Когда запрашиваемые данные будут получены, текст «in progress ...» появится на мгновение, и он немедленно исчезнет. Я не могу понять, что это не так, как должно работать. Текст должен отображаться на этикетке перед выполнением запроса и должен быть очищен только после завершения. Кто-нибудь сталкивался с такой проблемой? Можете ли вы порекомендовать решение? Спасибо за все предложения! Miv
См. Мои изменения по вашему вопросу. Я создал код, чтобы он выглядел как код. Каждая строка кода должна начинаться с не менее 4 пробелов. –