【发布时间】:2015-01-14 11:46:52
【问题描述】:
如何在 swift 中创建 Array 类型的自定义类?
确切地说,我有一个Car 类型的自定义类,现在我想创建一个由Cars 组成的数组的单例。 (因为我希望能够从我的应用程序中的任何位置访问它)。
我的解决方法是将我的单例定义为NSMutableArray。但我看到这会导致我的代码出现一些问题。所以我希望将它定义为 swift 数组。
我该怎么做?
我现在的代码是:
class MyCars: NSMutableArray {
class var sharedInstance: MyCars {
struct Static {
static var instance: MyCars?
static var token: dispatch_once_t = 0
}
dispatch_once(&Static.token) {
Static.instance = MyCars()
}
return Static.instance!
}
}
【问题讨论】:
-
Swift数组实现为struct,不支持继承——所以不可能
-
那么我所做的是最好的方法吗?还有其他方法可以获得我想要的功能吗?
-
为什么需要继承?想要添加新方法或覆盖现有方法?
-
没有。我只想拥有一个单身人士,这是我的
Cars 的Array。但我认为NSMutableArray做得并不完美.. -
@roi.holtzman 你最后用了什么?我有同样的心态,在我的情况下,我有一个自定义类访问者,我喜欢数组 listVisitors。我也碰到过单身人士,但不确定这是否是要走的路。就我而言,我喜欢从列表中添加/删除访问者。您介意分享您的实际解决方案吗??