The value for a selector does not vary between classes. This enables polymorphism. The Objective-C runtime maintains information about the argument and return types of methods. However, this information is not part of the name of the method, and can vary from class to class. Since Objective-C does not support namespaces, there is no need for the mangling of class names (that do appear as symbols in generated binaries). Swift Swift keeps metadata about functions (and more) in the mangled symbols referring to them. This metadata includes the function's name, attributes, module name, parameter types, return type, and more. For example: The mangled name for a method of a class in module is , for 2014 Swift. The components and their meanings are as follows: : The prefix for all Swift symbols. Everything will start with this. : Non-curried function. : Function of a class, i.e. a method : Module name, prefixed with its length. : Name of class the function belongs to, prefixed with its length. : Function name, prefixed with its length. : The function attribute. In this case ‘f’, which means a normal function. : Designates the type of the first parameter (namely the class instance) as the first in the type stack (here is not nested and thus has index 0). : This begins the type list for the parameter tuple of the function. : External name of first parameter of the function. : Indicates builtin Swift type Swift.Int for the first parameter. : The return type: again Swift.Int. Mangling for versions since Swift 4.0 is documented officially. It retains some similarity to Itanium. See also Application programming interface (API) Application binary interface (ABI) Calling convention Comparison of application virtualization software (i.e. VMs) Foreign function interface (FFI) Java Native Interface (JNI) Language binding Stropping SWIG References External links Linux Itanium ABI for C++, including name mangling scheme. Macintosh C/C++ ABI Standard Specification c++filt — filter to demangle encoded C++ symbols for GNU/Intel compilers undname — msvc tool to demangle names. demangler.com — An online tool for demangling GCC and MSVC C++ symbols The Objective-C Runtime System — From Apple's The Objective-C Programming Language 1.0 Calling conventions for different C++ compilers by Agner Fog contains detailed description of name mangling schemes for various x86 and x64 C++ compilers (pp. 24–42 in 2011-06-08 version) C++ Name Mangling/Demangling Quite detailed explanation of Visual C++ compiler name mangling scheme PHP