#iphone #objective-c #three20
#iPhone #objective-c #three20
Вопрос:
я новичок в использовании Trhee20 в Xcode и создаю приложение, которому необходимо отправить post-запрос на страницу для регистрации нового пользователя, используя следующий код:
TTURLRequest *request = [TTURLRequest requestWithURL:page delegate:self];
request.httpMethod = @"POST";
request.cachePolicy = TTURLRequestCachePolicyNoCache;
request.response = [[[TTURLJSONResponse alloc] init] autorelease];
[request.parameters addObject:nombre forKey:@"username"];
[request.parameters addObject:email forKey:@"email"];
[request.parameters addObject:pass1 forKey:@"pass"];
[request.parameters addObject:pass2 forKey:@"cpass"];
Я знаю, что мне нужно использовать: [request sendSynchronously];
для отправки данных, но я не знаю, как сохранить данные, которые я получу с сервера, в переменную, потому что этот метод выдает мне только значение true или false.
Второе, что я хотел бы знать, это как установить индикатор активности загрузки изображения в uitable, чтобы блокировать это во время отправки запроса на сервер и закрыть это изображение после его завершения.
Большое спасибо за вашу помощь.
Ответ №1:
Ответ # 1: Вы настраиваете TTURLRequestDelegate и определяете методы, которые вы хотите выполнить для каждого обратного вызова.
Ответ № 2: Это не относится к Three20 конкретно, вы должны просто иметь возможность добавлять загружаемое изображение при выполнении запроса, а затем удалять его, как только вызывается один из вышеупомянутых методов делегирования.
На заметку: убедитесь, что если вы действительно делаете что-то синхронно, вы не делаете это в потоке пользовательского интерфейса, поскольку это приведет к зависанию вашего приложения.
Комментарии:
1. Для решения графических проблем (кэширование) загружаемого изображения и / или UIActivityIndicatorView внутри UITableViewCell рассмотрите возможность использования свойства tag ячейки. Если для тега установлено некоторое значение (предпочтительно объявленное в typedef), покажите графику в ячейке.