【发布时间】:2016-01-20 06:07:00
【问题描述】:
我的后端是 Parse.com。我的用户有一组 NSDate 对象作为他们完成某些操作的时间戳。
我正在尝试读取该数组中的最后一个对象,以测试它是否在一天的前 3 个小时内完成。
我遇到的奇怪问题如下。在我的物理设备上,我加载了假定的 NSDate 对象数组,并将对象和对象类都记录到控制台。我得到以下信息:
OBJECT: 2016-01-19T01:09:18.239Z
CLASS: __NSCFString
由于它不是NSDate 对象,因此我使用格式化程序将其设为一个并进行计算。到目前为止没有崩溃。
当我在模拟器上运行相同的代码时,我得到以下信息:
OBJECT: 2016-01-20 05:50:34 +0000
CLASS: __NSDate
所以应用程序崩溃(应该如此),因为我正在尝试使用格式化程序将已经 NSDate 对象从一个字符串转换为 NSDate,但它不是。崩溃日志显示如下:
-[__NSDate length]: unrecognized selector sent to instance 0x7ffcf3f9c480
所以我想也许这些对象实际上是不同的。我去 Parse.com 并复制对象。它们是一样的:
["2015-12-20T17:47:38.134Z"]
["2016-01-20T05:50:34.253Z"]
我知道我可以检查它是 NSCFString 还是 NSDate 并相应地处理它们,但我很想知道问题是什么。任何帮助表示赞赏。一整天都在做。干杯。
编辑:在我的物理设备上再运行几次之后。一些对象将显示为NSCFString,其他对象将显示为NSDate。再次检查 Parse.com 以确保所有对象都是相同的,并且是真的。
["2016-01-20T06:07:41.435Z"]
["2016-01-20T06:07:39.454Z"]
["2016-01-20T04:53:53.419Z"]
【问题讨论】:
-
您可以使用 isKindOfClass 来检查对象是 nsstring 还是 nsdate 并相应地检查。
-
我想你首先检查的是值是 NSDate 对象吗?因为这里是帮助你的链接。 stackoverflow.com/a/9637407/3378413
-
你能看看这个答案,看看这是否有帮助。我认为他们发送的对象是自定义解析对象。 stackoverflow.com/questions/33329932/…
-
您是从 PFObject 还是 PFObject 子类访问日期?
-
@kRiZ from
PFObject
标签: ios objective-c parse-platform ios-simulator nsdate