My code is virtually identical to the following example:
https://github.com/iamamused/Example-MKLocalSearch.git
Here are the important bits:
Posting this for those who still have similar problem. You shouldn't use MKLocalSearchRequest() instead use MKLocalSearchCompleter which gives better results and is used in current Apple Maps.
You can learn how to implement in this answer