Caret in objective C

Like ennuikiller said, it indicates a block. If you want to learn more, Ars Technica had an excellent in-depth review of Snow Leopard that described not only blocks and closures, but also Grand Central Dispatch and all the other new technologies in Mac OS X 10.6. Highly recommended.


The caret represents a block or a closure which carries around or contains the lexical scope. They are similar to blocks in ruby. An excellent reference can be found here.


It depends on the context. In the example you show, it's used to denote a Block. The caret symbol is also the bitwise XOR operator in C-based languages — that's what most programmers would identify it as, so it's good to understand that it can be both depending on where it appears, much like *, etc.

And while we're suggesting references, one simply has to include Apple's official Blocks reference.