我即將建立一個單身人士,但我不確定這是否是正確的解決方案。單身?或者,還有更好的方法?
我有這個問題我有一個類創建一個URLSessionTaskDelegate。我想在另一個類中使用該委託從文件上傳中獲取一些信息。
所以我在想如果我可以把這個加上其他一些信息,在一個對象是這樣的:
public class UploadQueueCellData
{
let _FileName:String
let _UploadTaskDelegate:URLSessionTaskDelegate
let _ImageData:Data
init(fileName:String,imageData:Data,uploadTaskDelegate:URLSessionTaskDelegate)
{
_FileName = fileName
_ImageData = imageData
_UploadTaskDelegate = uploadTaskDelegate
}
.... etc
}
然後將其存儲在單用數組裏面:
public class ImageUploadQueue
{
private var _queue = [UploadQueueCellData]()
private let imageUploadQueue:ImageUploadQueue? = nil
public func GetImageUploadQueueInstance() -> ImageUploadQueue
{
if imageUploadQueue == nil
{
imageUploadQueue = ImageUploadQueue()
return imageUploadQueue
}
else
{
return imageUploadQueue!
}
}
private init()
{
}
.... etc
}
,然後只是用它來更新信息,因爲在另一個類中發生更改。
但沒有一個單身人士還有更好的方法嗎?我是否從Swift 3的角度來看待單身人士?
編輯:
所以我看到我做的單錯:
public class ImageUploadQueue
{
private var _queue = [UploadQueueCellData]()
//private let imageUploadQueue:ImageUploadQueue? = nil
static let shared = ImageUploadQueue()
private init()
{
}
那會更好呢?但問題仍然是沒有比使用單例模式更好的方法嗎?我說得更好,因爲我認爲單身模式是最後的選擇。
哪裏是單身?,我不能在代碼 –
@MikeAlter'GetImageUploadQueueInstance地方找到singletone()'返回「單」(綁定到每個ImageUploadQueue ... OK不是真正的單例模式。) – kennytm
@MikeAlter以及我可能會用錯誤的方式來製作它。 ImageUploadQueue是我打算成爲一個單身人士的類,但我通常是一個.net開發人員 – Helbo