我想要为NSCoding协议的encodeWithCoder(aCoder: NSCoder)方法写一个通用方法encodeDecorator(classObject:AnyObject,aCoder:NSCoder)
在实现过程中我碰到了一个问题,我没办法将Any类型的变量转化为AnyObject类型的变量,所以在encodeDecorator(classObject:AnyObject,aCoder:NSCoder)方法中,我无法把propertyValue变量传入aCoder.encodeObject(propertyValue, forKey: "k\(objectMirror.valueType)-\(propertyName)")方法,下面是代码。func encodeWithCoder(aCoder: NSCoder)
    {
        self.encodeDecorator(self, aCoder: aCoder)
    }
func encodeDecorator(classObject:AnyObject,aCoder:NSCoder)
    {
        var objectMirror=reflect(classObject)
        debugPrintln("object property count:\(objectMirror.count)")
        for i in 0..<objectMirror.count
        {
            var propertyName=objectMirror[i].0
            var propertyValue=objectMirror[i].1.value
            if propertyName == "super" && i == 0
            {
                continue
            }
            debugPrintln("property name:\(propertyName)")
            debugPrintln("property value:\(propertyValue)")
            aCoder.encodeObject(propertyValue, forKey: "k\(objectMirror.valueType)-\(propertyName)")
        }
    }求大神解救