【问题标题】:Can't store NSDate from Parse to Core Data无法将 NSDate 从 Parse 存储到 Core Data
【发布时间】:2013-08-30 13:30:58
【问题描述】:

我正在尝试将 PFObject 中的日期字段存储到我的核心数据实体的日期类型属性中。

coreDataObject.createdAt  = [object createdAt];

这是 XCode 返回的错误:property = "updatedAt";所需类型 = NSDate;给定类型 = __NSCFString;

在此之前,我将日期存储为字符串并解析 [object createdAt] 并且一切正常,但现在它无法将其识别为 NSDate。

我尝试过投射,但似乎没有任何效果。

有什么想法吗?


注意,就是这么简单:

NSDate *teste = oneParseRow.createdAt;
NSLog(@"teste is %@", ttt);

注意:

[oneParseRow objectForKey:@"createdAt"];

或任何类似的东西,以任何方式根本不起作用。你只需要使用 .createdAt。

【问题讨论】:

  • “对象”的类别是什么?似乎对象的方法 createdAt 正在返回一个字符串。
  • object 是一个 PFObject,来自 Parse 框架的一个对象
  • 为什么你的错误信息提到了updatedAt,但你的代码示例使用的是createdAt?有没有可能错误不在您发布的代码中?
  • 完全是@HectorRamos,我的错,我太专注于 createdAt,由于我的代码长度,我忘记了我还有另一个名为 updatedAt 的属性。谢谢!

标签: ios objective-c core-data nsdate parse-platform


【解决方案1】:

您能否在 Parse 文档中验证 createdAt 方法返回 NSDate?它似乎正在返回一个 NSString。

试试这个代码:

id created = [object createdAt]
coreDataObject.createdAt  = created;

在第一行放置一个断点,然后在调试器中检查 createdAt 返回的对象的类型。如果它不是 NSString 而不是 NSDate,则必须将其转换为带有 NSDateFormatter 的 NSDate。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-11-17
  • 1970-01-01
  • 2016-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-03
  • 1970-01-01
相关资源
最近更新 更多