Simplified code, got rid of: numOfRows/rows variable, set numberOfRowsInSection() to return array length, reload data in dispatch_async.