Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在swift中创建静态类?_Ios_Swift - Fatal编程技术网

Ios 如何在swift中创建静态类?

Ios 如何在swift中创建静态类?,ios,swift,Ios,Swift,我想在swift中创建一个静态类,这可能吗?如果是,怎么做 我试过: static class MyClass 但是获取错误声明不能标记为“static”没有静态类,但是您可以只通过添加静态方法来创建一个静态类 问题是(到目前为止)类不能具有静态属性,因此您有两个选项: 使用结构而不是类,将其所有方法和属性定义为静态 使用单例模式 在我看来,第二个选项是更好的解决方案,除非您有特定的理由不想要它。没有静态类,但您可以通过只添加静态方法来创建一个静态类 问题是(到目前为止)类不能具有静态属性

我想在swift中创建一个
静态
类,这可能吗?如果是,怎么做

我试过:

static class MyClass

但是获取错误
声明不能标记为“static”

没有静态类,但是您可以只通过添加静态方法来创建一个静态类

问题是(到目前为止)类不能具有静态属性,因此您有两个选项:

  • 使用结构而不是类,将其所有方法和属性定义为静态
  • 使用单例模式

在我看来,第二个选项是更好的解决方案,除非您有特定的理由不想要它。

没有静态类,但您可以通过只添加静态方法来创建一个静态类

问题是(到目前为止)类不能具有静态属性,因此您有两个选项:

  • 使用结构而不是类,将其所有方法和属性定义为静态
  • 使用单例模式

第二个选项在我看来是一个更好的解决方案,除非您有不想要它的具体原因。

static
意味着没有实例,因此我将使它成为一个没有初始值设定项的结构:

struct MyStruct {
    @available(*, unavailable) private init() {}

    static var foo = "foo"

    static func doSomething(a: String) -> String {
        return a + foo
    }
}

static
意味着没有实例,因此我将使它成为一个没有初始值设定项的结构:

struct MyStruct {
    @available(*, unavailable) private init() {}

    static var foo = "foo"

    static func doSomething(a: String) -> String {
        return a + foo
    }
}

你心目中的“静态”课程是什么?如果你想要一个单例,你可以在一个模块局部变量中创建一个实例:让myClass=myClass()在你心目中什么是“静态”类?如果需要单例,可以在模块局部变量中创建一个实例:let myClass=myClass()