变量作用域的问题,你的UIImageView定义在viewDidLoad方法里,所以他的有效范围就在viewDidLoad方法中,你可以把他定义在类的顶部,作为类变量,然后就可以在当前的vc中用self.imgv的方式访问了
比如你的vc叫testViewController,那么在.m文件中可以这样定义
@interface WLPersonDataViewController ()
@property (nonatomic,strong) UIImageView *imgv;
@end
@implementation WLPersonDataViewController
- (void)viewDidLoad {
   .....
   self.imgv=[[UIImageView alloc] initWithFrame:CGRectMake(0, 150, 50, 50)];
    self.imgv.image=img;
}后面的任何方法中都可以用self.imgv来访问

解决方案 »

  1.   

    方法有多种,其中一种,如楼上所说,你可以将uiimageview对象定义成“成员变量”或属性,那么这个uiimageview的作用域是其所在的类。还有一种就是给uiimageview设定一个tag。在需要uiimageview的时候,也可以通过tag来找到这个uiimageview对象,如:
    UIImage *img=[UIImage imageNamed:@"a"];
        UIImageView *imgv=[[UIImageView alloc] initWithFrame:CGRectMake(0, 150, 50, 50)];
        imgv.image=img;
        imgv.tag = 99;   //////设定tag值
        [self.view addSubview:imgv];///////根据tag找到uiimageview对象
    UIImageView *imgView = (UIImageView *)[self.view viewWithTag:99];