iOS方法作为属性传递

iOS中方法作为属性或者是参数进行传递,下边我是以代理方法为例。


.h中的代码让代理方法作为一个属性

@property(nonatomic,assign)SEL delegateSelect;




.m中的代码让delegate调用这个传过来的代理方法  传值用withObject:一个对象传递


                #define SuppressPerformSelectorLeakWarning(Stuff) \

                do { \

                _Pragma("clang diagnostic push") \

                _Pragma("clang diagnostic ignored \"-Warc-performSelector-leaks\"") \

                Stuff; \

                _Pragma("clang diagnostic pop") \

                } while (0)

             if ([self.delegate respondsToSelector:self.delegateSelect]) {

                 NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];

                 [dict setValue:[NSNumber numberWithFloat:oldCoordinate.longitude] forKey:@"longitude"];

                  [dict setValue:[NSNumber numberWithFloat:oldCoordinate.latitude] forKey:@"latitude"];

                 SuppressPerformSelectorLeakWarning([self.delegate performSelector:self.delegateSelect withObject:place.name withObject:dict]);

             }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值