Skip to content

Instantly share code, notes, and snippets.

@lilyball
Created December 1, 2018 21:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lilyball/9b6ebb09ef90948f3788216fc9e5467e to your computer and use it in GitHub Desktop.
Save lilyball/9b6ebb09ef90948f3788216fc9e5467e to your computer and use it in GitHub Desktop.
import Foundation
protocol Observer {
associatedtype T
}
class ObservableSparseArray<Element> : NSObject {
typealias T = Element?
let elements : [T] = []
let weaklyHeldObservers = NSHashTable<AnyObject>.weakObjects()
//MARK: Observable
func attach<O>(observer: O) where O : Observer & AnyObject, T == O.T {
weaklyHeldObservers.add(observer)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment