change assign delegate references to weak so arc sets them to nil if they are freed