Я хочу проверить, установлен ли атрибут NSNumber подкласса NSManageObject или нет. Обратите внимание, что атрибут имеет NSNumber/Integer16 Я пытался несколько подходов, но ни один не работал (они ниже всегда оценивают ложь):Как проверить, является ли атрибут объекта CoreData нулевым?
// Note: patient.zyklus_laenge is of NSNumber (Integer16)
// does not work
id value = patient.zyklus_laenge;
if (value == [NSNull null]) {
self.zyklusLaengeTextField.text = [NSString stringWithFormat:@"%d", 28];
} else {
self.zyklusLaengeTextField.text = [NSString stringWithFormat:@"%@", patient.zyklus_laenge];
}
// does not work
if (!patient.zyklus_laenge) {
self.zyklusLaengeTextField.text = [NSString stringWithFormat:@"%d", 28];
} else {
self.zyklusLaengeTextField.text = [NSString stringWithFormat:@"%@", patient.zyklus_laenge];
}
// does not work
if ([patient.zyklus_laenge isEqual:nil]) {
self.zyklusLaengeTextField.text = [NSString stringWithFormat:@"%d", 28];
} else {
self.zyklusLaengeTextField.text = [NSString stringWithFormat:@"%@", patient.zyklus_laenge];
}
// does not work
if (patient.zyklus_laenge == nil) {
self.zyklusLaengeTextField.text = [NSString stringWithFormat:@"%d", 28];
} else {
self.zyklusLaengeTextField.text = [NSString stringWithFormat:@"%@", patient.zyklus_laenge];
}
Может кто-нибудь просветить меня и объяснить, почему они не работают?
Что 'patient.zyklus_laenge' возвращения в командной строке , когда его нет? –
NSLog показывает: 'patient.zyklus_laenge: (null)' – mrd
Попробуйте переключить «isEqual:» на «==» – WMios