Настройка и считывание iphone UISwitch

У меня есть представление, в котором его объекты устанавливаются из базы данных и также сохраняются в базе данных. UITextViews отлично работают, но я не могу понять, как установить состояние UISwitch.

Я могу изменить его в IB, но это не то, что мне нужно. Запись в БД имеет 0 или 1 логическое значение. Поэтому, если поле true, я хочу установить состояние UISwitch в положение ON.

Также, когда я сохраняю запись, мне нужно посмотреть на значение в представлении и, таким образом, установить это поле в моей таблице.

спасибо за любую помощь!!

EDIT: Это то, что я сделал до сих пор:

.h файл

@interface UserEdit : UIViewController {


    IBOutlet UISwitch *male;

}


@property (nonatomic, retain) IBOutlet UISwitch *male;

.m файл

@synthesize male;


- (void)viewDidLoad {
    [super viewDidLoad];

    [male SetOn:NO];


}

приложение выгружается, когда оно попадает в строку SetOn выше

Мне также нужно иметь возможность не только устанавливать значение, но и читать его

Ответы

Ответ 1

Вы можете установить состояние UISwitch либо с помощью методов on или setOn:animated:, в зависимости от ваших требований.

например: [yourUISwitch setOn:YES];

Подробнее см. в разделе "Настройка состояния выключения/включения" Справочник по классу UISwitch.

UPDATE

В соответствии с документами вы можете прочитать значение через [yourUISwitch isOn];

Ответ 2

Вы можете сделать это следующим образом:

//
//  ViewController.m
//


#import "ViewController.h"


@interface ViewController ()

@property (weak, nonatomic) IBOutlet UISwitch *mySwitch;

- (IBAction)switchChanged:(id)sender;

@end


@implementation ViewController

- (IBAction)switchChanged:(id)sender
{
    [[NSUserDefaults standardUserDefaults] setBool:self.mySwitch.on forKey:@"SwitchState"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}


- (void)viewDidLoad
{
    [super viewDidLoad];
    self.mySwitch.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"SwitchState"];

}

@end

Ответ 3

Существует код быстрой версии для настройки и чтения состояния UISwitch

    //Change switch state
    self.mSwitchAccept.setOn(true, animated: true)
    //Get the switch state
    let switchState : Bool = self.mSwitchAccept.on

Ответ 4

Чтобы установить UIS, вам нужно использовать этот [yourSwitch setOn: YES анимированный: YES];

Чтобы прочитать UISwitch, вам нужно получить его по состоянию коммутатора, который является булевым типом NSLog (@ "Состояние переключателя:% d", [yourSwitch isOn]);