如何将 CFGregorianDate (currentSelectDate) 放入 NSDictionary?
我使用以下代码收到此错误:
将“CFGregorianDate”发送到不兼容类型“id”的参数
我的代码:
NSDictionary *userInfo = [NSDictionary dictionaryWithObject: currentSelectDate forKey:@"currentSelectDate"];
如何将 CFGregorianDate (currentSelectDate) 放入 NSDictionary?
我使用以下代码收到此错误:
将“CFGregorianDate”发送到不兼容类型“id”的参数
我的代码:
NSDictionary *userInfo = [NSDictionary dictionaryWithObject: currentSelectDate forKey:@"currentSelectDate"];
CFGregorianDate 基本上是一个 C 结构。首先创建一个 NSData 实例来保存它的字节:
NSData *data = [NSData dataWithBytes:¤tSelectDate length:sizeof(CFGregorianDate)];
然后将其放入您的字典中:
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:data forKey:@"currentSelectDate"];
要检索它,假设您分配了一个 CFGregorianDate(在本例中,在堆栈上),再次调用currentSelectDate
:
NSData *data = [userInfo objectForKey:@"currentSelectDate"];
[data getBytes:¤tSelectDate length:sizeof(CFGregorianDate)];
在您的努力中向您致以最良好的祝愿。
这不是一个很好的解决方案,但是如果您只需要快速修复,为什么不将 gregorian 放入一个字符串中,然后将其放入字典中呢?您甚至可以从每条数据中创建一个单独的字符串,并将它们存储在字典的不同索引中。