Exactly what @nsfyn55 says except when I toy with "raw" swift - that is, no Cocoa and such - I often just use tmux+vim. Of swift specifics in my vim setup, I use the official swift vim plugin and a couple of tslime.vim mappings for starting, stopping, testing and building swift from vim in a separate tmux pane.
I have the tslime.vim mappings set up as autocommands with specifics for python, rust, swift, haskell.
I'm gonna bet comment author says they use Xcode for Swift/Objc and Vim/Tmux for everything else. I just came off a small Swift project. Apple makes it difficult to code for their products outside of XCode.