更新核心数据中的对象会导致应用程序崩溃

时间:2012-04-09 23:22:20

标签: iphone objective-c ios core-data

我对核心数据相当新,并且遇到了问题。我的应用程序目前非常简单。我有一个用户列表,其中包含用户名和电子邮件。该应用程序启动并通过核心数据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

如果有人能帮助我,我会非常感激。

1 个答案:

答案 0 :(得分:0)

如果您刚刚编辑了Apple示例代码,那么有任何提及更新名为timeStamp的属性。

timeStamp进行项目范围搜索并根据需要进行更新(例如,删除任何提及,因为您未在模型中使用它)