How can I make a weak protocol reference in 'pure' Swift (without @objc) How can I make a weak protocol reference in 'pure' Swift (without @objc) swift swift