Попробуйте использовать NSMapTable с NSObjectMapKeyCallBacks и NSNonOwnedPointerMapValueCallBacks. Это работает как NSMutableDictionary, но допускает любые указатели в качестве значений, а не только объекты.
Вы также можете сохранить селектор в объекте NSInvocation и использовать его с обычным словарем. Если вам нужно хранить больше, чем Selector (цель, параметры и т. Д.), Возможно, это лучшее решение.