【问题标题】:Conform to NSMutableCopying in Swift?符合 Swift 中的 NSMutableCopying?
【发布时间】:2016-06-30 21:48:08
【问题描述】:

我的问题很简单: 在我自己的 Swift 类上符合 NSMutableCopying 协议的最佳方法是什么(可能带有一些代码解释)?

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

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

    // MARK: NSMutableCopying ??

}

【问题讨论】:

    标签: ios swift nscopying


    【解决方案1】:

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

    我不确定是否正确,但我想不出更好的方法。

    持续关注..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-12
      • 2017-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-18
      • 2014-07-28
      • 2016-05-05
      相关资源
      最近更新 更多