我正在尝试使用以下代码将 unix 时间戳保存到核心数据:
NSManagedObject *managedPostObject = [NSEntityDescription insertNewObjectForEntityForName:@"CDPost" inManagedObjectContext:moc]; [managedPostObject setValue:[structureDictionary objectForKey:@"timestamp"] forKey:@"timestamp"];
我从远程服务器获取时间戳的格式如下:
"timestamp": 1323118064000
出于某种原因,所有时间戳值都保存为:-2147483648
我试过 INTEGER32、INTEGER64、Decimal、Double 以及字符串作为时间戳的数据类型,但都没有用。
已解决: 以下对我有用:
NSString *timeStampStr = [[structureDictionary objectForKey:@"timestamp"] stringValue]; [managedPostObject setValue:timeStampStr forKey:@"timestamp"];
最佳答案
如果您将该字段设为字符串,然后将其保存到其中会怎么样:
NSString *saveValue = [NSString stringWithFormat:@"%d", [[structureDictionary objectForKey:@"timestamp"] intValue]];
关于iphone - 在 core-data 中保存 unix timestamp 将其转换为负整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8736065/