예제 #1
0
 private static void SetProperty <T>(
     this MGLShape controller,
     NSString propertyKey,
     T value,
     AssociationPolicy policy) where T : NSObject
 {
     objc_setAssociatedObject(
         controller.Handle,
         propertyKey.Handle,
         value.Handle,
         policy
         );
 }
예제 #2
0
 private static void SetProperty <T>(
     this UIView view,
     NSString propertyKey,
     T value,
     AssociationPolicy policy)
     where T : NSObject
 {
     objc_setAssociatedObject(
         view.Handle,
         propertyKey.Handle,
         value.Handle,
         policy);
 }
예제 #3
0
 public static void Set(NSObject o, NSString key, NSObject value, AssociationPolicy policy)
 {
     objc_setAssociatedObject(o.Handle, key.Handle, value.Handle, policy);
 }
예제 #4
0
 static extern void objc_setAssociatedObject(IntPtr o, IntPtr key, IntPtr value, AssociationPolicy policy);
예제 #5
0
        public static void AddRuntimeProperty(NSObject @object, NSObject @property, string key, AssociationPolicy policy)
        {
            var alreadyHasProp = HasRuntimeProperty(@object, key);

            if (!alreadyHasProp)
            {
                iOSAPI.objc_setAssociatedObject(@object.Handle, GetKeyObject(key).Handle, property.Handle, policy);
            }
        }
예제 #6
0
 public static void SetAssociatedObject(this NSObject self, IntPtr key, NSObject value, AssociationPolicy policy)
 {
     objc_setAssociatedObject(self.Handle, key, value.Handle, new IntPtr((int)policy));
 }
예제 #7
0
 internal static extern void objc_setAssociatedObject(IntPtr receiver, IntPtr key, IntPtr value, AssociationPolicy policy);
        public static void SetAssociatedObject <T>(this NSObject obj, NSString key, T?value, AssociationPolicy policy)
            where T : NSObject
        {
            if (obj is null)
            {
                throw new ArgumentNullException(nameof(obj));
            }

            if (key is null)
            {
                throw new ArgumentNullException(nameof(key));
            }

            objc_setAssociatedObject(obj.Handle, key.Handle, value?.Handle ?? IntPtr.Zero, policy);
        }
예제 #9
0
 public static void SetAssociatedObject <T>(this NSObject This, NSString key, T val, AssociationPolicy policy = AssociationPolicy.Retain)
     where T : NSObject
 {
     objc_setAssociatedObject(This.Handle, key.Handle, val.Handle, policy);
 }