【问题标题】:Updating object in core data causes app to crash更新核心数据中的对象导致应用程序崩溃
【发布时间】:2012-04-09 23:22:20
【问题描述】:

我在核心数据方面还很陌生,但遇到了问题。我的应用程序目前非常简单。我有一个用户名和电子邮件的用户列表。该应用程序启动并通过核心数据 NSFetchedRequest 从本地数据库中提取所有用户。该应用程序当前可以创建、读取和删除,没有错误。我遵循了关于核心数据的苹果教程。

我遇到的问题是保存已编辑的用户。单击用户时,将显示编辑视图控制器,该人可以在其中编辑该特定用户的用户名和电子邮件。当我去更新并保存用户时,应用程序崩溃了。错误是:

2012-04-09 17:47:09.757 SEA[7032:fb03] CoreData:错误:严重的应用程序错误。在核心数据更改处理期间捕获到异常。这通常是 NSManagedObjectContextObjectsDidChangeNotification 观察者中的一个错误。 [ valueForUndefinedKey:]:实体 User 不符合键“timeStamp”的键值编码。与用户信息 { NSTargetObjectUserInfoKey = "(实体:用户;id:0x880ec10;数据:{\n email = \"sampleUser@gmail.com\";\n username = sampleUser1;\n})"; NSUnknownUserInfoKey = 时间戳; } 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

如果有人可以帮助我,我将不胜感激。

【问题讨论】:

  • 向我们展示您的数据模型文件。
  • 我的数据模型文件由单个实体组成:用户,用户名:字符串和电子邮件:字符串作为属性。就是这样

标签: iphone objective-c ios core-data


【解决方案1】:

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

在项目范围内搜索 timeStamp 并酌情更新(例如,删除任何提及,因为您没有在模型中使用它)

【讨论】:

  • 哦,你的救命稻草!在 MasterViewController 中调用了 configureWithCell,它使用了键 timeStamp。我没想到那里看,因为我没有在任何地方使用该控制器,但一些默认代码正在调用该视图控制器。再次感谢。
猜你喜欢
  • 1970-01-01
  • 2018-09-02
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
相关资源
最近更新 更多