SEL is the type of a selector in Objective C. See selector.

You should NEVER mess with the value of a SEL. Treat it like a black box; you can get SELs from the @selector directive, pass them to methods, and reassign them, but you should never actually directly deal with the value of a SEL variable. in fact, as far as i can tell, it is not even a given what the structure of SEL's value will be. The Cocoa objc/objc.h has SEL typedef'd to be a pointer to a very specific struct with type objc_selector, but as far as i can tell the implementation of SEL is allowed to vary completely from compiler to compiler-- since the compiler and the compiler-supplied runtime are supposed to be the only entities who ever mess with the insides of a SEL anyway.