0

我有包含属性dateUpdated的 CoreData 实体(类型NSString为“2013-06-27”)。

当我想读取这个值时,它返回nil

Recipes *oldRecipe;
oldRecipe = [self getRecipeWithCode:i];
NSDateFormatter *dtFormatter = [[NSDateFormatter alloc] init];
[dtFormatter setDateFormat:@"yyyy-MM-dd"];

NSString *oDate = oldRecipe.dateUpdated; 
//after this oDate is nil
NSDate *oldDate = [dtFormatter dateFromString:oDate];

我已经使用 SQL Manager 检查了实体中的值存在。

我怎样才能正确地做到这一点?

4

1 回答 1

0

正如讨论中所证明的,oldRecipe对象是在 getRecipeWithCode使用临时托管对象上下文的方法中创建的。

托管对象只能存在于创建它的上下文中。如果上下文被释放,则oldRecipe不会为 nil,但访问其属性将始终返回 nil。

于 2013-06-11T08:34:42.340 回答