Objetivo personalizado de NSControl / ¡cómo hacerlo!
Pregunta
Tengo un NSControl personalizado que actúa como una especie de control deslizante bidimensional donde puede arrastrar un controlador alrededor de la vista. Agregué algunos métodos específicos de clase y los únicos que anulé fueron las acciones del mouse y drawRect. Mi pregunta es, ¿cómo consigo implementar la acción objetivo? ¿Cómo puedo hacer que se comporte como un control deslizante y enviar continuamente mensajes de acción a un objetivo vinculado? A partir de ahora puedo conectarlo en el generador de interfaces, pero no se envía ninguna acción. He leído mucho sobre métodos como sendActionOn: y sendAction: to: pero no sé exactamente cómo usarlos. Si alguien lo explicara, estoy seguro de que lo entendería.
Solución
-sendActionOn:
solo es relevante si está subclasificando NSControl e implementando una celda, que no lo es.
En -mouseDragged:
(o cualquier método que se llame desde [[self target] performSelector:[self action]]
para cambiar la posición del control deslizante), simplemente debe llamar a <=>.