YouCompleteMe (GitHub: Valloric / YouCompleteMe, License: GPL3) by Strahinja Val Markovic got a huge amount of attention last week (it's quickly approaching 1000 GitHub stars). It's a fuzzy code completion engine, and can use Clang-based semantic completion for C-family languages (including Objective-C).
Completion is invoked automatically, so it behaves more like GUI IDEs rather than Vim's built-in style of handling completion. The
<Tab> key can be pressed to accept a match or cycle through results. The matching algorithm is based on the order of characters in a string, so a given sequence of characters can appear interleaved with other characters as long as the order they appear is the same.
You'll need a build system to install YouCompleteMe, and it can be compiled with or without support for semantic matching in C languages. The documentation covers all of this and more, including configuration and detailed command explanations.