¿Cómo get el valor de un UISwitch?

Soy un progtwigdor iOS novato y tengo un problema.

Actualmente trabajo en iOS Core Data y mi problema es que quiero insert datos en un atributo boolean en una database tomando el valor de un UISwitch .

El problema es que no sé de qué método debo llamar (por ejemplo, el text hace lo mismo, pero para UITextField). He hecho una pequeña búsqueda en Google, pero no hay resultados. Aquí hay un código:

 [newContact setValue:howMany.text forKey:@"quantity"]; [newContact setValue:important.??? forKey:@"important"]; 

howmany es un campo de text, importante es un UISwitch

Para savelo

 [newContact setObject:[NSNumber numberWithBool:important.on] forKey:@"important"]; 

Para recuperarlo

 BOOL on = [[newContact objectForKey:@"important"] boolValue]; 

¿Has mirado los documentos para UISwitch ? Generalmente deberías hacer de los docs tu primer punto de escala cuando buscas información, luego dirígete a google y luego astack el desbordamiento si realmente no puedes encontrar lo que tienes después.

Desea la @property(nonatomic, getter=isOn) BOOL on properties como:

 important.isOn 

Si no ha configurado Core Data para usar primitivas, puede que tenga que ajustar ese boolean en un NSNumber :

 [NSNumber numberWithBool:important.isOn] 

Los otros carteles son correctos que necesita utilizar el método isOn para get el valor, sin embargo, esto devuelve un valor BOOL, que no puede pasar directamente a setValue: forKey porque ese método espera un object.

Para establecer el valor en su object de datos del núcleo, primero envuélvalo en un NSNumber, así:

 NSNumber *value = [NSNumber numberWithBool:important.on]; [newContact setValue:value forKey:@"important"]; 

solía

 [NSString stringWithFormat:@"%d",(self.allNotificationSwitch.isOn ? 0:1)]; 

Y

 [NSString stringWithFormat:@"%@",(self.allNotificationSwitch.isOn ? @"Yes":@"No")]; 
 [newContact setBool:[NSNumber numberWithBool:important.on] forKey:@"important"];