NSCalendar *gCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *oldDate = [NSDate date]; // Or however you get it.
unsigned unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
NSDateComponents *comps = [gCalendar components:unitFlags fromDate:oldDate];
comps.hour = 23;
comps.minute = 59;
comps.second = 59;
comps.calendar = gCalendar;
NSDate *newDate = [gCalendar dateFromComponents:comps];
当我运行上面的代码片段时,newDate变量的类型为__NSTaggedDate。这最终会导致问题,因为__NSTaggedDate以后无法进行JSON序列化。
我正在尝试创建一个具有今天最后一秒时间的NSDate。
我在XCode 6.4上,而我的手机正在运行iOS 8.4。这种情况发生在模拟器和iPhone6上。