I want to archive objects which contain sets (Set<Int16> for instance.
Compîler accepts this :
class SetOnFile: NSObject, NSCoding {
var aSet : NSSet
override init() {
self.aSet = []
super.init()
}
init(aSet: NSSet) {
self.aSet = aSet
}
required init(coder decoder: NSCoder) {
self.aSet = decoder.decodeObjectForKey(aKey) as! NSSet
}
func encodeWithCoder(coder: NSCoder) {
coder.encodeObject(aSet, forKey: aKey)
}
}
But if I replace NSSet by Set<Int16>, compiler gives error on line 18:
Cannot convert value of type 'Set<Int16>' to expected argument type 'AnyObject?'
Does that mean that Set do not conform to NSCoding and NSSet does ?
Or did I miss something?