Ios 我想在swift 2.2中何时使用静态、最终、私有?

Ios 我想在swift 2.2中何时使用静态、最终、私有?,ios,swift,mobile,Ios,Swift,Mobile,我知道什么时候使用这些不同的关键字,但有人能帮我澄清一下我到底什么时候想使用它们,以及它们在运行时如何影响我的应用程序吗 静止的 当您需要一些数据而不分配新对象时,您可以使用静态方法或属性,最常用的静态方法或属性可能是单例设计模式,或者当您有一些助手类时。 例如,在函数中,您可以调用: let temp = Helper.staticMethod(); 在哪里 从staticMethod中,您不能访问类Helper 决赛 最好的做法是将所有类声明为final,并在必须对它们进行子类化时将其删除

我知道什么时候使用这些不同的关键字,但有人能帮我澄清一下我到底什么时候想使用它们,以及它们在运行时如何影响我的应用程序吗

静止的

当您需要一些数据而不分配新对象时,您可以使用静态方法或属性,最常用的静态方法或属性可能是单例设计模式,或者当您有一些助手类时。 例如,在函数中,您可以调用:

let temp = Helper.staticMethod();
在哪里

staticMethod
中,您不能访问类
Helper

决赛

最好的做法是将所有类声明为final,并在必须对它们进行子类化时将其删除。如果您试图对Final类进行子类化,Final将为您提供一个编译时错误,因此这可以帮助您拥有一个干净的体系结构,而不必冒创建混乱代码的风险,并且还可以帮助提高代码的可读性

final class FinalClass {
}

class Sub1: FinalClass {
} //Error

class Base {
}

class SubBase: Base {
} //OK
私人的

私有类/属性在范围外不可见。 它可以帮助您在体系结构中进行良好的封装

class A {
    private let test = 1
    let test2 = 1

}

let classA = A() 
classA.test //Error
classA.test2 //OK
我建议阅读Swift文档以获得更好的解释:

静止的

当您需要一些数据而不分配新对象时,您可以使用静态方法或属性,最常用的静态方法或属性可能是单例设计模式,或者当您有一些助手类时。 例如,在函数中,您可以调用:

let temp = Helper.staticMethod();
在哪里

staticMethod
中,您不能访问类
Helper

决赛

最好的做法是将所有类声明为final,并在必须对它们进行子类化时将其删除。如果您试图对Final类进行子类化,Final将为您提供一个编译时错误,因此这可以帮助您拥有一个干净的体系结构,而不必冒创建混乱代码的风险,并且还可以帮助提高代码的可读性

final class FinalClass {
}

class Sub1: FinalClass {
} //Error

class Base {
}

class SubBase: Base {
} //OK
私人的

私有类/属性在范围外不可见。 它可以帮助您在体系结构中进行良好的封装

class A {
    private let test = 1
    let test2 = 1

}

let classA = A() 
classA.test //Error
classA.test2 //OK
我建议阅读Swift文档以获得更好的解释: