Методы в основной очереди

#ios #xcode

#iOS #xcode

Вопрос:

Подскажите, как выполнить методы в основной очереди

у меня есть 3 метода масштабирования html, после масштабирования скрытого WebView

 - (void)updateContentWidth
{
    [self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"setContentWidth('%d%%')", (int)(self.articleContentWidth*100)]];
}

- (void)updateLineHeight
{
    [self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"setLineHeight('%d%%')", (int)(self.articleLineHeight*100)]];

}
- (void)updateFontSize
{
    [self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"setFontSize('%d%%')", (int)(self.fontSizeRatio*100)]];
}
  

Ответ №1:

попробуйте это

 [self performSelectorOnMainThread:@selector(updateContentWidth)
                       withObject:nil
                    waitUntilDone:YES/NO-To block/not block the current thread];
  

Ответ №2:

Используйте приведенный ниже код, с помощью которого вы можете вызвать любой метод или блок в основном потоке:

     dispatch_sync(dispatch_get_main_queue(), ^{
        // write or call method here
    });
  

Комментарии:

1. ox нет) в свою очередь выполняют

2. Это сообщение автоматически помечается как низкое качество, потому что оно очень короткое / только код. Не могли бы вы расширить его, добавив текст, объясняющий, как он решает проблему?