How can I make a weak protocol reference in 'pure' Swift (without @objc)
weak
references don't seem to work in Swift unless a protocol
is declared as @objc
, which I don't want in a pure Swift app.
This code gives a compile error (weak
cannot be applied to non-class type MyClassDelegate
):
class MyClass {
weak var delegate: MyClassDelegate?
}
protocol MyClassDelegate {
}
I need to prefix the protocol with @objc
, then it works.
Question: What is the 'pure' Swift way to accomplish a weak
delegate
?