Core data 在核心数据中存储NSTimeZone

Core data 在核心数据中存储NSTimeZone,core-data,ios7,nstimezone,Core Data,Ios7,Nstimezone,我试图将NSTimeZone保存为可转换类型,但由于它符合NSSecureCoding,因此似乎无法工作 还有其他选择吗?如果时区有定义的名称,则可以将其存储为字符串。如果您根据GMT偏移量手动构建时区,则它可能没有名称 。。。因此,如果需要,可以存储GMT偏移量,但这样会丢失与指定时区相关的任何DST信息 最好的方法可能是存储数据。它应该包含重建相应的NSTimeZone实例所需的信息。[NSTimeZone timeZoneWithName:timeZoneName data:timeZon

我试图将
NSTimeZone
保存为可转换类型,但由于它符合
NSSecureCoding
,因此似乎无法工作


还有其他选择吗?

如果时区有定义的
名称
,则可以将其存储为字符串。如果您根据GMT偏移量手动构建时区,则它可能没有名称

。。。因此,如果需要,可以存储GMT偏移量,但这样会丢失与指定时区相关的任何DST信息


最好的方法可能是存储
数据
。它应该包含重建相应的
NSTimeZone
实例所需的信息。

[NSTimeZone timeZoneWithName:timeZoneName data:timeZoneData]
要完全重建
NSTimeZone
我们需要同时存储名称和数据。使用transformable应该可以正常工作
NSSecureCoding
继承自
NSCoding
,任何符合
NSCoding
的对象都可以使用可转换属性。如果不看代码,我不知道问题出在哪里,但您描述的方法实际上是解决问题的正确方法。@TomHarrington我刚刚检查过,是的,那是我的失败。它是可转换的。