static extern void objc_setAssociatedObject(IntPtr obj, IntPtr key, IntPtr value, ObjcAssociationPolicy policy);
public static void SetAssociatedObject(this NSObject obj, IntPtr key, NSObject value, ObjcAssociationPolicy policy = ObjcAssociationPolicy.RetainNonatomic) { objc_setAssociatedObject(obj.Handle, key, value.Handle, policy); GC.KeepAlive(value); GC.KeepAlive(obj); }