After exploring the GFAPI as I was unable to figure out some ways to break open it. I started looking at the other direction. For example it didn't let me GET the search result, I even posted it on stackoverflow but there was no answer to it.
So right now as I only knew how to GET all the entries and then break open (Parsing the data) them and search it locally, it consumes a lot of time. So as I have just heard about this concept of background processing of data. So I thought that would be a good way to already load all the data in the background and user will be able to use the app as fast as possible. So here in this post I'll be doing exploring the background processing which in this case called multithreading and grand central dispatch.