0

在 Swift 2.1 中,我应该如何创建一个符合 NSCopying 协议的类?

我试过这个:

class TargetValue: NSObject, NSCopying {

    var value: Int?

    func copyWithZone(zone: NSZone) -> AnyObject {
        let copy = TargetValue()
        copy.value = value
        return copy
    }
}

var target = TargetValue()
target.value = 12

var target1 = target.copy()
print(target1.value ) // ambiguous user of 'value'

但我遇到了错误ambiguous user of value。我应该怎么做才能解决这个问题?

问候

4

1 回答 1

2

copyWithZone:return AnyObject,因此您必须将副本转换为预期的类型:

var target1 = target.copy() as! TargetValue
于 2016-03-23T04:14:27.177 回答