我試圖實現圖像下載類。這是一個單例實現。這個想法是讓實例下載一個圖像並註冊爲該圖像下載的觀察者。這是我想出了迄今:iOS Swift:符合協議的對象數組:如何檢查數組是否包含
public protocol ImageDownloaderDelegate {
func imageDownloadFinished(success: Bool)
}
public class ImageDownloader {
var list: [Int64] = []
var observer: [Int64:[ImageDownloaderDelegate]] = [:]
var downloading: Bool = false
public func downloadImageWithId(immutableId: Int64, delegate: ImageDownloaderDelegate) {
// Add Id to download list
if (!contains(list, immutableId)) {
list.append(immutableId)
}
// Add Observer
var observerList = observer[immutableId]
if (observerList == nil) {
observerList = [delegate]
} else if (!contains(observerList, delegate)) {
observerList!.append(delegate)
}
observer[immutableId] = observerList
// Start to download
if (!downloading) {
self.downloadNextImage()
}
}
private func downloadNextImage() {
...
}
/// A shared instance of the class
public class var defaultImageDownloader: ImageDownloader {
struct Singleton {
static let instance = ImageDownloader()
}
return Singleton.instance
}
}
我得到以下錯誤:
'ImageDownloaderDelegate' 是無法轉換爲 'S.Generator.Element - > L'
任何幫助非常感謝
在這行是錯誤? – jrturton 2014-12-03 22:00:07
if(!contains(observerList,delegate)) – Django 2014-12-03 22:14:12