无法更新核心数据日期和布尔属性

时间:2014-05-02 10:20:13

标签: ios core-data

我还在学习如何在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)值。

1 个答案:

答案 0 :(得分:0)

为核心数据对象赋值后,保存数据库

[self.monitorItem setValue:
[formattedDate dateFromString:updateView.lastDone1TextField.text]
                        forKey:@"lastDone1"];
// need to save database here:
[APP_DELEGATE saveContext];