Ответ 1
Чтобы сохранить его
[newContact setObject:[NSNumber numberWithBool:important.on] forKey:@"important"];
Чтобы получить его
BOOL on = [[newContact objectForKey:@"important"] boolValue];
Я программист iOS для новичков, и у меня есть проблема.
В настоящее время я работаю над базовыми данными iOS, и моя проблема в том, что я хочу вставить данные в логический атрибут в базу данных, взяв значение UISwitch
.
Проблема в том, что я не знаю, какой метод мне нужно вызвать (например,.text делает то же самое, но для UITextField). Я сделал небольшой поиск Google, но никаких результатов. Вот какой код:
[newContact setValue:howMany.text forKey:@"quantity"];
[newContact setValue:important.??? forKey:@"important"];
howmany - текстовое поле, важным является UISwitch
Чтобы сохранить его
[newContact setObject:[NSNumber numberWithBool:important.on] forKey:@"important"];
Чтобы получить его
BOOL on = [[newContact objectForKey:@"important"] boolValue];
Вы просмотрели документы для UISwitch
? Как правило, вы должны сделать документы своей первой точкой вызова при поиске информации, затем перейдите в Google и затем, если вы действительно не можете найти, что после вас.
Вы хотите свойство @property(nonatomic, getter=isOn) BOOL on
, например:
important.isOn
Если у вас нет набора базовых данных для использования примитивов, вам может потребоваться обернуть это логическое значение в NSNumber
:
[NSNumber numberWithBool:important.isOn]
Другие плакаты верны, что вам нужно использовать метод isOn для получения значения, однако это возвращает значение BOOL, которое вы не можете передать непосредственно в setValue: forKey, потому что этот метод ожидает объект.
Чтобы установить значение для вашего основного объекта данных, сначала оберните его в NSNumber, например:
NSNumber *value = [NSNumber numberWithBool:important.on];
[newContact setValue:value forKey:@"important"];
Я использовал
[NSString stringWithFormat:@"%d",(self.allNotificationSwitch.isOn ? 0:1)];
и
[NSString stringWithFormat:@"%@",(self.allNotificationSwitch.isOn ? @"Yes":@"No")];
[newContact setBool:[NSNumber numberWithBool:important.on] forKey:@"important"];