In my recent “6 things I learned by publishing an app on the App Store” article, I briefly talked about some gripes I have with Xcode. Xcode is a great tool and it shines when it comes to features like Instruments that make profiling your app a breeze. Unfortunately, for typing code, many things are missing compared to other IDEs such as IntelliJ or Visual Studio. If you want some basic text editing functionalities like duplicating or simply deleting a line of code with a keyboard shortcut, you have to rely on 3rd party plugins or hack your way into a plist file. The autocomplete feature of Xcode is also not a glorious example of stability. As for refactoring helpers, they are practically non-existent in Xcode land.
Know that if you go for AppCode as your main code editor, you will always have Xcode opened as well.