Pregunta

He estado buscando en todas partes en todas partes y no he podido encontrarlo y realmente me está molestando. No puedo entender cómo guardar el estado actual de un nspopupbutton, por lo que si un usuario lo cambia, la aplicación cargará ese estado la próxima vez que ejecute la aplicación. He probado nsuserDefaults y solo ha estado agregando un nuevo elemento al botón emergente que tiene un nombre realmente extraño.

¿Fue útil?

Solución

Parece que no ha podido establecer un valor inicial para el valor predeterminado del usuario.

Por ejemplo, si atas a tu NSPopupButton Usando el "valor seleccionado" vinculante a una "popupSelección" predeterminada ", debe asegurarse de que NSUserDefaults siempre Devuelve uno de los NSPopupButtonEntradas para "PopUpSelection".

Logre esto al incluir una Plist en su proyecto, digamos "Defaults.Plist", que contiene el valor predeterminado que desea para "PopUpSelection" (y los valores predeterminados que desea para sus otras preferencias), luego al inicio de la aplicación Cargue esta Plist desde Tu paquete:

NSString *defaultsPath = [[NSBundle mainBundle] pathForResource:@"Defaults" ofType:@"plist"];
NSDictionary *defaultsDict = [NSDictionary dictionaryWithContentsOfFile:defaultsPath]];

y registrarlos como sus valores predeterminados con NSUserDefaults:

[[NSUserDefaults standardUserDefaults] registerDefaults:defaultsDict];

Ahora su botón emergente comenzará con un valor correcto, y el enlace mantendrá el valor en NSUserDefaults Corrija cuando el usuario cambie la selección.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top