Ios 在Swift中为包含嵌套对象的对象实现深度复制的正确方法?
我正在尝试获取包含swift中嵌套对象的类对象的深度副本,有人能帮忙吗 我试过的代码 这是我的班级:Ios 在Swift中为包含嵌套对象的对象实现深度复制的正确方法?,ios,swift,Ios,Swift,我正在尝试获取包含swift中嵌套对象的类对象的深度副本,有人能帮忙吗 我试过的代码 这是我的班级: class ZLFilters: NSObject, NSCopying { var filterChoices : [ZLFilterChoice]? required init(_ map: Map){ } init(filterChoices : [ZLFilterChoice]) { self.filterChoices = filterChoices } fu
class ZLFilters: NSObject, NSCopying {
var filterChoices : [ZLFilterChoice]?
required init(_ map: Map){
}
init(filterChoices : [ZLFilterChoice]) {
self.filterChoices = filterChoices
}
func copyWithZone(zone: NSZone) -> AnyObject {
let copy = ZLFilters(filterChoices: filterChoices!)
return copy
}
}
但问题是filterChoices本身就是一个对象,因此在内部它不会进行深度复制。假设您的过滤器选择也符合以下条件:
let copy = ZLFilters(filterChoices: filterChoices!.copyWithZone(zone))
为每个属性编写代码。如果你写了一些东西来分享你的代码,我们可以帮助你复制var filterChoices:[ZLFilterChoice]?,因为filterChoices是ZLFilterChoice的数组,所以我不能在filterChoices(array)对象上调用copyWithZone(zone)。