Открываем профайлер и запускаем на 5000.
Видим, что из 26 секунд, необходимых программе на выполнение функции, почти все они уходят на завершение редактирования NSTextView.
pikucha.ru/iedeV
Теперь делаем финт ушами и выводим создание строки отдельно, отображение для неё отдельно. (Заранее извиняюсь за какие-то ошибки в коде, это мой первый раз на свифте)
@IBAction func TextGenGo(sender: AnyObject) {
var i:int_least32_t;
var string = outcomeText.string;
for (i=1;i<=textCount.intValue;i++) {
string = string! + String(i) + " ";
}
outcomeText.string = string;
}
Теперь выполнение 20000 заняло пол секунды.