2017年6月29日
一.给按钮添加扩展属性indexPath
1.实现
//
// UIButton+BZ.h
// 317hu
//
// Created by mac on 2017/6/28.
// Copyright © 2017年 huanghaipo. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UIButton(BZ)
//@property 只会生产申明,不会生产实现
@property (nonatomic, strong) NSIndexPath *indexPath;
@end
//
// UIButton+BZ.m
// 317hu
//
// Created by mac on 2017/6/28.
// Copyright © 2017年 huanghaipo. All rights reserved.
//
#import "UIButton+BZ.h"
#import <objc/runtime.h>
#define kUIButtonIndexPathKey @"kUIButtonIndexPathKey"
@implementation UIButton (BZ)
// 告诉编译器不要创建存取方法(set get两个都不创建),可以不写【写了可能实例变量也不会创建】
//@dynamic indexPath;
- (void)setIndexPath:(NSIndexPath *)indexPath
{
//将某个值跟某个对象关联起来,将某个值存储到某个对象中
//object: self
//key:属性名称 kUIButtonIndexPathKey
//value: 值 indexPath
//policy:保存策略
objc_setAssociatedObject(self, kUIButtonIndexPathKey, indexPath, OBJC_ASSOCIATION_RETAIN);
}
- (NSString *)indexPath
{
//获取绑定的值
NSString *idx = objc_getAssociatedObject(self, kUIButtonIndexPathKey);
return idx;
}
@end
2.用法
如果您发现本文对你有所帮助,如果您认为其他人也可能受益,请把它分享出去。