关联:objc_getAssociatedObject和objc_setAssociatedObject使用
为UIButton的category添加属性
UIButton+subTitle.h
#import <UIKit/UIKit.h> #import <objc/runtime.h> @interface UIButton (subTitle) @property (nonatomic, copy) NSString *subTitle; @property (nonatomic, strong) UIColor *foreColor; //此处添加int类型属性不能使用,因为objc需要用id类型,此处留着以后修改 @property (nonatomic) int tagAdd; @end
UIButton+subTitle.m
#import "UIButton+subTitle.h"
@implementation UIButton (subTitle)
static char oooo;
- (NSString *)subTitle{
    return objc_getAssociatedObject(self, @selector(subTitle));
}
- (void)setSubTitle:(NSString *)subTitle{
    [self setTitle:subTitle forState:UIControlStateNormal];
    objc_setAssociatedObject(self, @selector(subTitle), subTitle, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
- (UIColor *)foreColor{
    return objc_getAssociatedObject(self, @selector(foreColor));
}
- (void)setForeColor:(UIColor *)foreColor{
    self.backgroundColor = foreColor;
    objc_setAssociatedObject(self, @selector(foreColor), foreColor, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
- (void)setTagAdd:(int)tagAdd{
    objc_setAssociatedObject(self, &oooo, @(tagAdd), OBJC_ASSOCIATION_ASSIGN);
}
- (int)tagAdd{
    return (int)objc_getAssociatedObject(self, &oooo);
}
关联:objc_getAssociatedObject和objc_setAssociatedObject使用的更多相关文章
- ios 关联对象运用 objc_setAssociatedObject
		
点按钮的时候,给alertView添加一个关联对象(被点击这个按钮), objc_setAssociatedObject(alert, &kRepresentedObject, sender, ...
 - [Objective-C]关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
		
关联 关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分. 关联特性只有在Mac OS X V10.6以及以后的版本上才是可用的. 在类的定义之外为类增加额外的存储空间 ...
 - [Objective-C]关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)(转)
		
转载自:http://blog.csdn.net/onlyou930/article/details/9299169 分类: Objective-C2013-07-11 11:54 3420人阅读 评 ...
 - iOS - Objective-C 关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
		
关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分. 关联特性只有在Mac OS X V10.6以及以后的版本上才是可用的. 在类的定义之外为类增加额外的存储空间 使用关联,我 ...
 - 【原】objc_setAssociatedObject和objc_getAssociatedObject
		
本文转载请注明出处--polobymulberry-博客园 两个函数名称中都有associate,意思是关联,这里的关联表示的是一种 从属关系,即有一个关联者和被关联者,我们说NSArray的对象ar ...
 - 对象关联(associated objects)
		
category与associative作为objective-c的扩展机制的两个特性,category即类型,可以通过它来扩展方法:associative,可以通过它来扩展属性:在iOS开发中,可能 ...
 - 运行时---关联Associated
		
关联:指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分 一.在类的定义之外为类增加额外的存储空间 使用关联,我们可以不用修改类的定义而为其对象增加存储空间.这在我 ...
 - objective-c 中的关联介绍
		
objective-c 中的关联介绍 转载请注明CSDN博客上的出处: http://blog.csdn.net/daiyibo123/article/details/46471993 如何设置关联 ...
 - objc_setAssociatedObject  1
		
[Objective-C]关联(objc_setAssociatedObject.objc_getAssociatedObject.objc_removeAssociatedObjects) 标签: ...
 
随机推荐
- Windows 下Apace tomcat
			
java JDK安装: 1. 官方www.oracle.com 下载jdk 2. 环境变量配置 (1)新建->变量名:JAVA_HOME变量值:C:\Program Files (x86)\Ja ...
 - UIAlertController弹出提示框
			
#import "RootViewController.h" #import "RootView.h" #define kColor arc4random() ...
 - 协议(Protocol)---实例
			
协议:声明一些必须实现的方法和选择实现的方法,用来声明一些方法,即一个Protocol是由一系列的方法声明组成的. 建立协议文件步骤:将鼠标放到文件列表处,利用快捷键 command +N 健,得到如 ...
 - iOS设计模式-单例模式
			
(一)什么是单例模式(Singleton) 单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点 *最初的定义是在<设计模式>(Addison-Wesley)中 解读 1> ...
 - 博客建议(Suggestions)
			
I don't know if you will like the music. But I am sure there are some songs which are really wonderf ...
 - 从1.5k到18k, 一个程序员的5年成长之路
			
昨天收到了心仪企业的口头offer, 回首当初什么都不会开始学编程, 到现在恰好五年. 整天在社区晃悠, 看了不少的总结, 在这个时间点, 我也写一份自己的总结吧. 我一直在社区分享, 所以, 这篇总 ...
 - JavaScript Patterns 4.3 Returning Functions
			
Use closure to store some private data, which is accessible by the returned function but not to the ...
 - JavaScript Patterns 2.10 Naming Conventions
			
1. Capitalizing Constructors var adam = new Person(); 2. Separating Words camel case - type the word ...
 - python判断字符串,str函数isdigit、isdecimal、isnumeric的区别
			
s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小写s.isupper() ...
 - TCP/IP详解--TCP首部选项中时间戳选项
			
一.简介 TCP时间戳选项会在TCP包头增加12个字节,以一种比重发超时更精确的方法来启用对RTT 的计算. 二.作用 ) TCP时间戳位于TCP选项中,kind=:lenth=:data由tim ...