title: Using objc_setAssociatedObject with weak references
body: <p>I know that OBJC_ASSOCIATION_ASSIGN exists, but does it zero the reference if the target object is dealloced?  Or is it like the old days where that reference needs to get nil-ed or we risk a bad access later on?</p>