Я создаю приложение chatbot, которое имитирует статус реального набора текста пользователем, поэтому после каждого сообщения должна быть задержка в 1 секунду (например), прежде чем приложение отправит второе сообщение.
Моя логика сообщений
let size = dictionary[key]!.count;
let pointer = random(lower: 0, upper: UInt32(size) - 1);
let part = dictionary[key]![pointer];
for row in part {
if let message = row as? Message {
self.sendMessage(message: message);
print("MESSAGE TRIGGERED");
usleep(1 * 1000 * 1000)
}
if let question = row as? Question {
}
}
здесь я беру случайный массив сообщений (фактически строк), и в цикле просто добавляю их в мою таблицу, как эта проблема
func sendMessage(message: Message) {
self.tableView.beginUpdates();
let indexPath = IndexPath.init(row: self.log.count, section: 0);
self.log.insert(
message,
at: self.log.count
);
self.tableView.insertRows(at: [indexPath], with: UITableViewRowAnimation.fade);
self.tableView.endUpdates()
self.tableView.scrollToRow(at: indexPath, at: .bottom, animated: true)
}
в том, что если есть10 строк в массиве сообщений, я вижу 10 «MESSAGE TRIGGERED» журналов в консоли, 1 новая строка, каждую секунду, как я планировал, но в таблице я не вижу строк в течение 10 секунд, а затемони все только появляются сразу.Почему?