Estoy tratando de entender lo difícil que es usar NSPopUpButton. Es, de lejos, el elemento de usuario más difícil de programar en Cocoa (al menos en la medida en que lo encuentro).NSPopUpButton, Vinculaciones y una vida útil de acortamiento
El caso de uso que tengo en mente es la siguiente:
- tengo una clase llamada Puerto que representa un puerto de serie.
- Entre los atributos es un campo de nombre.
- En NSPopUpButton quiero mostrar el campo de nombre para cada puerto.
- Cuando un usuario selecciona un puerto específico, se marca en la ventana emergente con un tic como se esperaba
- Cuando el usuario presiona un botón de conexión, puedo determinar cuál de los puertos de la matriz fue seleccionado.
- Me gustaría lograr esto mediante el uso de fijaciones, ya que creo que una vez que lo haya entendido, será la solución más elegante.
tanto en mi AppController.h Estoy contando con dos atributos que me presumiblemente pueden crear propiedades y sintetizar:
NSMutableArray *allPorts;
Port *currentlySelectedPort;
y uno de acción en mi .m:
-(void)didSelectConnect:(id)sender{
NSLog(@"Selected port name is:%@",[currentlySelectedPort name]);
}
en Port.h Tengo
NSString *name;
NSString *baudRate;
... etc ...
I ha he creado un proyecto simple que contiene solo una ventana emergente (y una etiqueta) y después de varios artículos, he logrado poblar un NSMutableArray con elementos que luego uso un ArrayController para mostrar valores y luego al seleccionar el valor de una etiqueta (usando un controlador de objeto). Sin embargo, aunque esto es inteligente, no se ajusta al caso de uso que intento implementar. Así que vuelvo aquí para obtener ayuda
M
Es posible que desee considerar comenzar sin utilizar enlaces. Escribirá más código, pero es imperativo que comprenda ese código (y todas las tecnologías subyacentes detrás de enlaces como KVO) antes de que pueda realmente hacer que las vinculaciones funcionen para usted en ejemplos complejos. –