I am developing a Quiz App which fetches questions from a JSON. I have already used reloadData for TableView many times & worked as expected. But now I am fetching Questions
Sounds like you need to put the reload into the completion handler so that you have data when you try to update the UI.
To be safe (in case of other calls to reload), you can also guard your return value in numberOfRowsInSection by checking whether there are at least 5 items in QArray.