TextMate is a great editor, but I do find that it's support for any given language lacks the depth you might find in IDEs, even multi-language IDEs.
So I find myself wanting to use TM, because as a pure editor it is very nice - but for example find that the Ruby specific features in Netbeans* are such huge timesavers that it is impossible to justify sticking with TM. I found the same to be true with Objective-C and Xcode as well.
(*I have been no fan of NB in the past, and there are many things about it that suck, but they have done an amazing job with Ruby, nothing else I've seen comes close.)
That said, whatever you do, do NOT tie your development/build process to an IDE. You need to allow every developer to use the tools they prefer, and you want the freedom to be able to switch these tools quickly.
I agree that Xcode beats TextMate in several areas when it comes to C and Objective-C (mainly the CodeSense completion). What I find compelling, however, is the extensibility of TextMate. I'm fairly certain that it is possible to build something along the lines of CodeSense as a TextMate bundle, if it does not already exist. I've been really falling behind when it comes to coding in my spare time (something I'm ashamed of), so I haven't kept up with the latest TM bundles.
If you get the latest Objective-C bundle from TextMate's SVN it does a reasonable job of codesense completion - but XCode is still a little better at it. The other thing that drives me nuts in TM with Obj-C is that building is an order of magnitude slower than doing it from XCode directly.
So I find myself wanting to use TM, because as a pure editor it is very nice - but for example find that the Ruby specific features in Netbeans* are such huge timesavers that it is impossible to justify sticking with TM. I found the same to be true with Objective-C and Xcode as well.
(*I have been no fan of NB in the past, and there are many things about it that suck, but they have done an amazing job with Ruby, nothing else I've seen comes close.)
That said, whatever you do, do NOT tie your development/build process to an IDE. You need to allow every developer to use the tools they prefer, and you want the freedom to be able to switch these tools quickly.