I got working it by doing it like this. So it is parsing in the background and I can update the UI.
dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
for (...) {
...
for (...) {
for (...) {
...
}
}
}
});