>> 1. If what you are renaming has a very unique name to start with, you can probably get away with search-and-replace.
>> 2. If what you are renaming has a very general name, just edit that name, re-compile and address and the errors.
In addition to these tips, I'd add:
— You can refactor a name everywhere within its scope of definition within a single file using the "edit in place" function, accessed by selecting some or all of it and typing Command-Control-E (in the standard keybindings, and there is of course a menu item for it somewhere). If it's a class name, this will refactor it throughout the file. If it's an instance variable, it will refactor it throughout the class within the file. However, clashes between the new name and any existing names won't be detected, so you'd want to search the file first, if there's any doubt.
This doesn't refactor globally, of course, but in many cases most of the occurrences are within a single file, and it's easy to fix the rest via compile errors.
— The global search-and-replace UI (in the search panel on the left, accessed via Command-Option-Shift-F) allows you to preview changes in a side-by-side comparison view, before committing the changes. In the comparison view, you can turn individual changes on or off, in case your search found some false positive matches. Also, the left pane of the view is editable, so if there are some related changes that need to be made at the same time, you can do that right there.
I don't use this global search pre-flighting much, but it's very useful for some kinds of changes.