Ale*_*ith 2 singleton ios swift
我目前正在开发使用他们的移动购买sdk的Shopify应用程序,我正在尝试使用Swift中的Singleton来保存购物车.我有一个像这样设置的Singleton类:
class Singleton {
static let sharedInstance = Singleton()
init() {
var cart = BUYCart()
println(cart)
}
}
Run Code Online (Sandbox Code Playgroud)
初始化后,它会在控制台中打印BUYCart.问题是我试图在控制器中访问保存的购物车,如下所示:
println(Singleton.sharedInstance.cart.lineItems)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Singleton does not have member named 'cart'
Run Code Online (Sandbox Code Playgroud)
您应该在实例级别声明变量.在您的代码中,它在构造函数中声明,因此您只能在构造函数中访问它.不是像你在代码中那样在课外.
class Singleton {
static let sharedInstance = Singleton()
var cart = BUYCart()
init() {
println(cart)
}
}
Run Code Online (Sandbox Code Playgroud)
这不一定是对你的问题的直接回应,所以请放弃.但是如果你想让它成为一个单例,那么创建init方法private以便你真的可以真正地创建它的一个实例:
class Singleton {
static let sharedInstance = Singleton()
var cart = BUYCart()
private init() {
println(cart)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
707 次 |
| 最近记录: |