2016-06-30 8 views
1

私の質問は簡単です: NSMutableCopyingプロトコルを自分のSwiftクラスに準拠させる最良の方法は何ですか? ObjCでSwiftのNSMutableCopyingに準拠していますか?

class CustomClass: NSObject, NSMutableCopying { 
    var string1: String 
    var string2: String 

    required override init() { 
     self.string1 = "string1" 
     self.string2 = "string2" 
    } 

    // MARK: NSMutableCopying ?? 

} 

答えて

0

、私が使用します。

+ (instancetype)allocWithZone:(struct _NSZone *)zone OBJC_SWIFT_UNAVAILABLE("use object initializers instead"); 

が、スウィフトでは使用できませんこの方法。

だから私はこのように実装します。

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 
    } 
} 

私は右かどうかわからないんだけど、私はより良い方法を考えることはできません。

連続注意..

関連する問題