trước đây tôi đã sử dụng mô hình singleton sau:Singleton pattern trong Swift 1.2
class Singleton {
class var sharedInstance : Singleton {
struct Static {
static let instance : Singleton = Singleton()
}
return Static.instance
}
}
Khi Xcode beta mới với Swift 1.2 được phát hành tôi muốn thử ra các thuộc tính của lớp tĩnh mới và phương pháp. Vì vậy, tôi đã cố gắng một cái gì đó tương tự như sau:
class Singleton {
static let sharedInstance : Singleton = Singleton()
}
Nhìn vào trình gỡ rối khi sử dụng này nó có vẻ như rất nhiều trường hợp lồng nhau của lớp singleton được tạo ra bởi các lớp liên tục:
Nhưng tìm kiếm thông qua phân bổ có vẻ như chỉ có một trường hợp được tạo ra. Tôi đoán điều đó có nghĩa là nó hoạt động chính xác, nhưng tôi không thấy hành vi tương tự với mẫu đầu tiên.
Cách thứ hai dường như hoạt động với tôi – Ian
Nếu bạn đặt điểm ngắt ở đâu đó sau khi hằng số lớp được khởi tạo, có vẻ như có nhiều phiên bản của lớp trên ngăn xếp không? –
Tôi thiết lập một biến trên trường hợp chia sẻ bằng cách sử dụng phương pháp thứ hai trong một bộ điều khiển xem và sau khi gọi 'Singleton.sharedInstance.foo' trong bộ điều khiển xem thứ hai, nó đã thu hồi thành công giá trị của singleton cho thuộc tính đó – Ian