我是一名Android应用程序开发人员,也是swift的初学者。我正在尝试实现一个单例类,其数据成员在整个应用程序中共享(如“设置”)。 在android中完成这项工作非常简单,但我很想在swift中完成它。
以下是我试过的代码..
public class DataSet
{
public var notificationOnOff: Bool!
public var interval: Int!
public var alert: String!
init()
{
self.notificationOnOff = true
self.interval = 1;
self.alert = nil;
}
init (onOff: Bool) {
self.notificationOnOff = onOff
}
init (time: Int) {
self.interval = time
}
init (stop: String) {
self.alert = stop
}
}
此类实现无法保留数据。 这是正确的做法吗?
修改
例如,当我在设置视图控制器中单击切换时,我正在设置notificationOnOff ... ..
dataset.notificationOnOff = DataSet(onOff: true) // value is set and able to print it
并在另一个类中使用此值,如...
if dataset.notificationOnOff
{
// do some stuff
}
基本上,该值仅在Setting类中持久存在,但在切换到其他类时则不存在。
答案 0 :(得分:0)
解决!
我已经使用以下代码成功实现了这个..
var instance: DataSet?
class Dataset {
...
class var sharedInstance: DataSet {
struct Static {
static var instance: DataSet?
static var token: dispatch_once_t = 0
}
dispatch_once(&Static.token) {
Static.instance = DataSet()
}
return Static.instance!
}
}
和其他班级..
dataset = Dataset.sharedInstance;