1
    if (self.temp) 
    {
    NSDateFormatter *form = [[NSDateFormatter alloc] init];
    [form setDateFormat:@"dd/MM/yyyy"];
    dt1 = [form stringFromDate:[datePicker date]];
    [self.temp setValue:dt1 forKey:@"dateOne"];
    }
    else
    {
    NSDateFormatter *form = [[NSDateFormatter alloc] init];
    [form setDateFormat:@"dd/MM/yyyy"];``
    dt1 = [form stringFromDate:[datePicker date]];
    NSManagedObject *newGoalText = [NSEntityDescription insertNewObjectForEntityForName:@"Goal" inManagedObjectContext:context];
    [newGoalText setValue:dt1 forKey:@"dateOne"];
    }    

这是我编写的将日期作为字符串保存到我的核心数据模型中的代码。我创建了一个实体。目标“Goal”包含属性“goalText(String)”、“dateStr(string)”和“dateOne(String)”。当要编辑数据时,if 条件有效,否则 else 条件有效。那就是流量。因此,当我执行此代码时,我收到错误为“[setValue:forUndefinedKey:]:实体目标不是键值编码兼容键“dateOne”。'”。不过,前两个属性已成功保存和获取。还有一件事是第三个属性是从不同的视图设置的。

我已经按照另一个问题的答案重新启动了 Mac ,但没有得到任何结果。

4

3 回答 3

2

我已经解决了。在某个阶段,我删除了 name.xcdatamodel 并创建了一个具有相同名称的新模型。但是旧的一些仍然存在于我的项目中。删除那个旧的解决了我的问题。谢谢你的帮助

于 2013-02-07T06:24:04.413 回答
1

不确定它是否会修复你的 pb,但上次我遇到这个问题是因为捆绑包中的一个搞砸了。(当我在 coredata 模型上添加属性并从模型重新生成类时发生)旧模型仍在使用中。

与问题中解释的几乎相同: Entity is not key value coding-compliant for the key

如果尚未完成,请尝试从管理器中清除项目的派生数据。这对我有用。

于 2013-02-04T08:30:01.080 回答
0

可能这是迟到的帖子。但希望它会帮助一些人。

我最近收到了这个错误。对我来说,在更改 Xcdatamodel 时,我缺少钥匙。我在实体中添加了密钥。然后它工作正常。

于 2018-04-27T05:41:09.553 回答