类别是开发中常常使用的东西,但是偶尔需要添加属性,这个就需要使用继承来实现,但是如果是只有一两个属性的话,也太过麻烦。OC中的runtime提供了关联属性。
在类别中可以直接property一个属性,然后实现他的set、get方法。如下
set方法中,第一个参数为要关联的对象,第二个是地址(void *),这里name定义的是一个char。第三个为要这个属性的参数,为ID类型。如果为基本类型,需转换为NSNumer,最后一个需要跟声明属性的关键词一致(retain,copy,assign)。
get方法中,两个参数与set方法的前两个参数一致。需要注意的是,第二个参数,set、get方法必须指向同一个地址。