我对核心数据相当新,并且遇到了问题。我的应用程序目前非常简单。我有一个用户列表,其中包含用户名和电子邮件。该应用程序启动并通过核心数据NSFetchedRequest从本地数据库中提取所有用户。该应用程序当前可以创建,读取和删除没有错误。我关注核心数据的苹果教程。
我遇到的问题是保存编辑用户。单击用户时,将显示编辑视图控制器,其中该人员可以编辑该特定用户的用户名和电子邮件。当我去更新并保存用户时,应用程序崩溃了。错误是:
2012-04-09 17:47:09.757 SEA [7032:fb03] CoreData:错误:严重的应用程序错误。在Core Data更改处理期间捕获到异常。这通常是NSManagedObjectContextObjectsDidChangeNotification的观察者中的错误。 [valueForUndefinedKey:]:实体User对于密钥“timeStamp”不符合密码值编码。 with userInfo { NSTargetObjectUserInfoKey =“(entity:User; id:0x880ec10; data:{\ n email = \”sampleUser@gmail.com \“; \ n username = sampleUser1; \ n})”; NSUnknownUserInfoKey = timeStamp; } 2012-04-09 17:47:09.760 SEA [7032:fb03] * 由于未捕获的异常'NSUnknownKeyException'终止应用程序,原因:'[valueForUndefinedKey:]:实体用户不是键值编码 - 符合关键的“timeStamp”。'
从错误的外观来看,即使我删除了该属性,它仍然会看到属性timeStamp。 用户实体喜欢以下内容:
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@interface User : NSManagedObject
@property (nonatomic, retain) NSString * username;
@property (nonatomic, retain) NSString * email;
@end
如果有人能帮助我,我会非常感激。
答案 0 :(得分:0)
如果您刚刚编辑了Apple示例代码,那么有任何提及更新名为timeStamp
的属性。
对timeStamp
进行项目范围搜索并根据需要进行更新(例如,删除任何提及,因为您未在模型中使用它)