我的问题很简单:
什么是在我自己的Swift类上符合NSMutableCopying
协议的最佳方法(可能有一些代码解释)?
class CustomClass: NSObject, NSMutableCopying {
var string1: String
var string2: String
required override init() {
self.string1 = "string1"
self.string2 = "string2"
}
// MARK: NSMutableCopying ??
}
答案 0 :(得分:0)
在Objc中,我使用:
+ (instancetype)allocWithZone:(struct _NSZone *)zone OBJC_SWIFT_UNAVAILABLE("use object initializers instead");
但是这个方法在Swift中不可用。
所以我这样实现:
class CustomClass: NSObject, NSMutableCopying {
var string1: String
var string2: String
required override init() {
self.string1 = "string1"
self.string2 = "string2"
}
func mutableCopyWithZone(zone: NSZone) -> AnyObject {
let customObject = CustomClass()
customObject.string1 = string1
customObject.string2 = string2
return customObject
}
}
我不确定是否正确,但我无法想出更好的方法。
持续关注..