UIKit не является поточно-ориентированным. Пользовательский интерфейс должен обновляться только из основного потока:
dispatch_async(dispatch_get_main_queue()) {
self.tableView.reloadData()
}
Обновление . В Swift 3 и позже используйте:
DispatchQueue.main.async {
self.tableView.reloadData()
}
В java вы получили StringEscapeUtils из Commons Lang для экранирования / отмены экранирования.
В Javascript вы выходите через encodeURIComponent , но я думаю, что компонент Commons, который я вам дал, удовлетворит ваши потребности.