Показывает ли MBProgressHUDWWilePerformingSelector: выполнение выбранного метода в другом потоке? - PullRequest
0 голосов
/ 17 июня 2011

Я использую MBProgressHUD в моем проекте. Я использую метод showWhilePerformingSelector:, который вызывает метод, который использует NSURLConnection. В другом вопросе о переполнении стека я читал, что у людей возникают проблемы с использованием NSURLConnection во вторичном потоке, потому что поток будет прерван до того, как будут запущены методы делегата.

По сути, вопрос заключается в том, запускает ли метод MBProgressHUD showWhilePerformingSelector: выбранный метод в другом потоке? Если да, то как мне использовать этот основной поток для запуска моего NSURLConnection?

1 Ответ

1 голос
/ 17 июня 2011

Какую версию MBProgressHUD вы используете? На v0.4 (последний включен) такого метода нет. Вместо этого showWhileExecuting, который говорит:

    /**
 * Shows the HUD while a background task is executing in a new thread, then hides the HUD.
 *
 * This method also takes care of NSAutoreleasePools so your method does not have to be concerned with setting up a
 * pool.
 *
 * @param method The method to be executed while the HUD is shown. This method will be executed in a new thread.
 * @param target The object that the target method belongs to.
 * @param object An optional object to be passed to the method.
 * @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
 * animations while disappearing.
 */
- (void)showWhileExecuting:(SEL)method 
                  onTarget:(id)target 
                withObject:(id)object 
                  animated:(BOOL)animated;

Что вам нужно сделать, это показать только HUD и удалить его, когда делегаты уволены. Вы должны запускать соединение, а не улучшать форматирование. Все будет в порядке, пока вы используете асинхронные соединения.

Что-то вроде это .

...