我有一个SGBContainer
类的对象,它有一个名为objects
的数组,其中包含类SGBObject
的对象。目前,它们各自实施NSCoding而不是NSSecureCoding。该-initWithCoder:
为SGBContainer
看起来是这样的:如何使用NSSecureCoding来保证集合类的内容?
- (id)initWithCoder:(NSCoder *)aCoder
{
self = [self init];
if (self)
{
_objects = [aCoder decodeObjectForKey:@"objects"];
}
}
我想切换到使用NSSecureCoding,从我所知道的,这将意味着改变上述这样:
- (id)initWithCoder:(NSCoder *)aCoder
{
self = [self init];
if (self)
{
_objects = [aCoder decodeObjectOfClass:[NSArray class] forKey:@"objects"];
}
}
...这没有太大的改进,因为数组的内容将被实例化,无论他们的类是什么。如何确保数组仅包含类SGBObject
的对象而不实例化它们?
好的,谢谢。雷达,然后... http://openradar.appspot.com/16314084 – Simon