一、UIImageView的分类 1.把这个分类写完之后,我们就模拟SDWebImage最终的那个一行代码下载图片, 创建一个分类,我们想一下,分类中可以增加属性或成员变量吗,成员变量不可以,属性虽然可以增加,但是没有下划线的成员变量, 1)分类中不能增加成员变量,这是没有疑问的,有疑问的是分类中能不能增加属性, 2)分类中可以增加属性,但是没有下划线的成员变量, 我们一会儿去演示这个问题,接着往下来看, 这个分类中,我们来写一个成员变量, 分类中写一个成员变量,int number,报错儿了,Instance variables may not be placed in categories,分类中是不能增加成员变量的,分类中是不能存数据的, 因为,成员变量的目的,是不是存数据,接下来,分类中能不能增加属性,可不可以,可以,为什么,因为属性的本质,就是getter和setter两个方法, 但是,我们在这儿增加一个属性的时候,它会不会帮我们生成这个属性对应的成员变量,不会,getter和setter中,也不会生成这个属性对应的成员变量,因为分类中是不允许增加成员变量的, 所以,在这里我们增加完这个属性之后,属性即使是有getter和setter这两个方法,也是没有成员变量的,接着往下看, 2.下面我们要用这个分类,我们要用这个分类干什么,最终的目的,是让它里边具有一个方法,这个方法是,给它一个地址,它可以下载图片,并且把图片放到它自己这个ImageView里边显示,所以,这个方法,我们起个名字啊,这个方法就是,给你一个地址,下载图片,显示出来,所以它的返回值是void,因为这是UIImageView,我下载完图片,我就显示了,什么都不返回,给方法起个名字,setImageUrlString,这是这个图片需要的地址,传过来,urlString, - (void)setImageUrlString:(NSString *)urlString;