У меня была такая же проблема, и проблема заключалась в том, что я пытался вызвать reloadData: из другого потока. Решение было бы:
dispatch_async(dispatch_get_main_queue(), ^{ [self.tableView reloadData]; });