我还在学习如何在iOS中编程。在我正在进行的项目中,我正在尝试更新核心数据中的信息,但我遇到了障碍。我无法更新日期和布尔属性。请帮忙!以下是我被困的程序的一部分。遵循NSLog的输出。
ItemUpdateViewController *updateView = segue.sourceViewController;
NSDateFormatter* formattedDate = [[NSDateFormatter alloc] init];
formattedDate.dateFormat = @"dd/MM/yyyy";
// Update lastDone1 date
[self.monitorItem setValue:
[formattedDate dateFromString:updateView.lastDone1TextField.text]
forKey:@"lastDone1"];
NSLog(@"lastDone1 text: %@", updateView.lastDone1TextField.text);
NSLog(@"lastDone1 from updateView: %@",
[formattedDate dateFromString:updateView.lastDone1TextField.text]);
NSLog(@"lastDone1 in self.monitorItem: %@",[self.monitorItem valueForKey:@"lastDone1"]);
// Update fixed boolean value
[self.monitorItem setValue:[NSNumber numberWithBool:YES] forKey:@"fixed"];
NSLog(@"fixed: %@",[self.monitorItem valueForKey:@"fixed"]);
输出: 2014-05-02 17:17:48.334 SGRecencyMonitor [805:70b] lastDone1 text:02/05/2014 2014-05-02 17:17:48.336 SGRecencyMonitor [805:70b]来自updateView的lastDone1:2014-05-01 16:00:00 +0000 2014-05-02 17:17:48.336 SGRecencyMonitor [805:70b] self.monitorItem中的lastDone1 :( null)
2014-05-02 17:17:48.336 SGRecencyMonitor [805:70b]已修复:( null)
如图所示,核心数据返回两个(null)值。
谢谢你!我添加了以下内容:
SGRMAppDelegate *appDelegate = (SGRMAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate saveContext];
但结果仍然相同。它都返回(null)值。
答案 0 :(得分:0)
为核心数据对象赋值后,保存数据库
[self.monitorItem setValue:
[formattedDate dateFromString:updateView.lastDone1TextField.text]
forKey:@"lastDone1"];
// need to save database here:
[APP_DELEGATE saveContext];