iphone coredata setValue не работает внутри оператора if - PullRequest
0 голосов
/ 17 мая 2011

У меня coredata работает нормально, но когда я помещаю setValue в if, он не работает,

это код>

-(void) salvalo {

StaffManagerAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];

NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSManagedObject *newDay;
newDay = [NSEntityDescription insertNewObjectForEntityForName:@"DaysAttendance"
                                       inManagedObjectContext:context];

[newDay setValue:startday forKey:@"start"];
[newDay setValue:today forKey:@"datef"];
[newDay setValue:myNumber forKey:@"empID"]; 
[newDay setValue:myNumber2 forKey:@"intID"];
//[newDay setValue:internet forKey:@"sinch"];


NSError *error;
[context save:&error];

if ([internet isEqualToString:@"YES"] ) {
    [self insertJson];

    [newDay setValue:internet forKey:@"sinch"];

}
else {
    [newDay setValue:@"NO" forKey:@"sinch"];

}



//[self.view removeFromSuperview];
[self dismissModalViewControllerAnimated:YES];


      }

, обратите внимание, что когдаЯ использую код внутри в комментируемой части if

// [newDay setValue: internet forKey: @ "sinch"];

, обычно это значение сохраняется(ДА / НЕТ) для coredata, но внутри if, это не работает, даже если я помещаю все делегаты и контекстные элементы внутри if ,,

, так в чем же проблема?как это исправить?

спасибо большое!

1 Ответ

2 голосов
/ 17 мая 2011

Строка [context save:&error]; находится перед операторами if.

Возможно, вы устанавливаете новое значение правильно, но не сохраняете. Проблема может быть просто в этом упущении.

...