(杂记)Swift实现深拷贝

392 阅读1分钟
class Product: NSObject, NSCopying  {
    
    
    var name: String
    
    var canChanged: Bool = false
    
    required init(name: String, canChanged: Bool) {
        self.name = name;
        self.canChanged = canChanged;
    }
    
    func copy(with zone: NSZone? = nil) -> Any {
        let copyObj = type(of: self).init(name: self.name, canChanged: self.canChanged);
        return copyObj
    }
}