This is a "yes" and "no" answer.
Yes, this gives you the user's current preferred Locale. And judging from other questions like yours, other people have decided this answer is "good enough".
However, I could be in China with my iPhone and if I were still working with the English language, I believe the countryCode would still return "US".
If you truly want to know the user's current country, you could use CoreLocation and do some reverse geocoding. With the CoreLocation coordinates, you could do look ups like http://ws.geonames.org/findNearby?lat=47.3&lng=9. There's also MKReverseGeocoder (which is deprecated as of iOS 5.0) and GLGeocoder which has a call of – reverseGeocodeLocation:completionHandler:
(documentation linked for you).