1.3.10 Selectors

Some Objective-C methods have arguments or values of type SEL , which is a pointer type used to represent selectors. These can be used in Lisp as foreign pointers of type sel, which can be obtained from a string by calling coerce-to-selector. The function selector-name can be used to find the name of a selector.

For example, a call in Objective-C such as:

[foo respondsToSelector:@selector(frame)]

could be written using can-invoke-p as in Determining whether a method exists or using selectors as follows:

(invoke foo "respondsToSelector:" (coerce-to-selector "frame"))

If *selector* is bound to the result of calling

(coerce-to-selector "frame")


(selector-name *selector*)

will return the string "frame" .

LispWorks Objective-C and Cocoa Interface User Guide and Reference Manual - 29 Feb 2008