代码之家  ›  专栏  ›  技术社区  ›  4thSpace wkw

未使用初始值设定项的结果?

  •  0
  • 4thSpace wkw  · 技术社区  · 7 年前

    使用以下选项时,为什么会收到以下消息:

    MyClass.init(5)
    

    类别定义:

    class MyClass: NSObject {
    private static var aNumber = 0
    
        init(myNumber: Int) {
            MyClass.aNumber = MyNumber
        }
    ...
    }
    

    未使用初始值设定项的结果

    1 回复  |  直到 7 年前
        1
  •  2
  •   Sulthan    7 年前

    您可以轻松删除警告,例如:。

    _ = MyClass(5)
    

    但是,您有一个设计问题。为什么要创建一个实例,然后立即丢弃?

    相反,将setter公开:

    static var aNumber = 0
    

    就这么定了

    MyClass.aNumber = 5
    

    或者将其设为静态方法:

    static func setNumber(_ number: Int) {
        aNumber = number
    }
    

    和电话

    MyClass.setNumber(5)