For Objective-C … Pointer to method-Collection of common programming errors

Yes! In Objective-C, function pointers are called selectors. If you have a method defined like this:

- (void)myFunctionWithObject:(NSObject*)obj otherObject:(NSNumber*)obj2
{
}

The selector is declared like this:

@selector(myFunctionWithObject:otherObject:)

To perform a selector on an object, you can use:

[object performSelector:@selector(myFunction)];

or

[object performSelector:@selector(myFunctionTakingParameter:) withObject: o];

The selector data type is particularly useful for threads and timers, where you can dispatch a thread and provide it a selector to the message you’d like it to invoke. If you need to create an array of selectors (or a dispatch table), or if you need to invoke selectors with multiple parameters, you can use the NSInvocation class. It provides a wrapper for a selector and allows you to specify actual arguments.

You should keep in mind that Objective-C is already based on a fully dynamic method dispatch table. It sounds like maintaining function pointers using selectors will work fine for you if you just need a reference to a function, though.