#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. Это сообщение автоматически помечается как низкое качество, потому что оно очень короткое / только код. Не могли бы вы расширить его, добавив текст, объясняющий, как он решает проблему?