/**
* 用 runtime 中的函数通过 key 关联对象
*
*objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy)
*id object 表示关联者,是一个对象,变量名理所当然也是 object
*const void *key 获取被关联者的索引 key
*id value 被关联者,这里是一个 block
*objc_AssociationPolicy policy 关联时采用的协议,有 assign , retain , copy 等协议,一般使用 OBJC_ASSOCIATION_RETAIN_NONATOMIC
*/
objc_setAssociatedObject (button , & keyOfUseCategoryMethod , actionBlock, OBJC_ASSOCIATION_COPY_NONATOMIC );