Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.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_Objective C_Swift_Swift2 - Fatal编程技术网

Ios Swift中的共享状态

Ios Swift中的共享状态,ios,objective-c,swift,swift2,Ios,Objective C,Swift,Swift2,有人能帮我把这个代码转换成Swift吗 这里我提到Objective-C代码中的.h和.m Abc是一个UIViewController。我想在Swift代码中执行此方法。这怎么可能 Abc.h Abc.m 在swift中,最好、最干净的方式就是这样 static let sharedInstance = ABC() 不需要结构或类变量,这仍然是一种有效的方法,但不是很快 不确定您是否希望对UIViewController使用单例,但通常Swift中的单例类如下所示 class ABC {

有人能帮我把这个代码转换成Swift吗

这里我提到Objective-C代码中的.h和.m

Abc是一个UIViewController。我想在Swift代码中执行此方法。这怎么可能

Abc.h

Abc.m


在swift中,最好、最干净的方式就是这样

static let sharedInstance = ABC()
不需要结构或类变量,这仍然是一种有效的方法,但不是很快

不确定您是否希望对UIViewController使用单例,但通常Swift中的单例类如下所示

class ABC {

     static let sharedInstance = ABC()

     var testProperty = 0

     func testFunc() {

     }
}
在你的其他课程中,你会说

let abc = ABC.sharedInstance

abc.testProperty = 5
abc.testFunc()
或者直接打电话

ABC.sharedInstance.testProperty = 5
ABC.sharedInstance.testFunc()
另外,如果您使用单例类,并且您有一个初始化器,那么您应该将其设置为私有

class ABC {

     static let sharedInstance = ABC()

     private init() {

    }
}

你必须向我们展示你的尝试,让我们知道你遇到了什么问题。如果你计划在Swift中发展,你仍然需要学习Swift。为什么这个问题被标记为太宽泛而搁置?这是一个如何在Swift中创建单例的简单问题。
ABC.sharedInstance.testProperty = 5
ABC.sharedInstance.testFunc()
class ABC {

     static let sharedInstance = ABC()

     private init() {

    }
}