我有一個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