Prevent warnings with CLANG_WARN_OBJC_RECEIVER_WEAK

The delegate's are at risk of being deallocated and so the
recommended practice is to read the weak variable into a strong
local variable once, and then use the local variable.

You can reproduce this by compiling while enabling CLANG_WARN_OBJC_RECEIVER_WEAK.