2009-09-19 5 views
0

J'ai une erreur de compilation et je ne peux pas trouver ce qui ne va pas. Je suis nouveau à ce si difficile à déchiffrer l'erreur.Erreur avec UIImageView

Dans mon .h je ...

@interface LongViewController : UIViewController { 

    IBOutlet UIImageView *loadImageInto; 
    IBOutlet UIImageView *loadedInto; 
} 

-(void)fadeIt:(UIImageView*)imgNamed; 

Et dans mon .m ...

-(void)fadeIt:(UIImageView*)imgNamed 
{ 
    if(longSize1.alpha == 0.0){ 
     loadImageInto = longSize1; 
     loadedInto = longSize2; 
    } 
    if(longSize2.alpha == 0.0){ 
     loadImageInto = longSize2; 
     loadedInto = longSize1; 
    } 

    loadImageInto.image = [UIImage imageNamed:imgNamed]; 
} 

L'avertissement que je reçois est sur la dernière ligne et est: Je pense que c'est dire que le type est faux, mais je n'arrive pas à le résoudre. C'est probablement dire que le code fonctionne bien et que les images sont chargées comme prévu.

Toute aide serait grandement appréciée!

+1

Pourquoi vous passez le UIImageView dans cette méthode "- (void) fadeIt: (UIImageView *) imgNamed? – Sharme

Répondre

1

UIImage imageNamed: prend un NSString * qui est le nom de l'image à charger. Il semble que votre variable imgNamed n'est pas le type correct (pas un NSString *).

0

vous pouvez essayer

loadImageInto = imgNamed ; 
0

Vous passez un UIImageView à la méthode en tant que paramètre, puis en utilisant cette valeur dans la méthode [UIImage imageNamed:]. La méthode imageNamed: prend un NSString en tant que paramètre et non en UIImageView. Donc soit vous devez passer le nom de l'image en tant que NSString, soit utiliser la valeur UIImageView comme UIImageView. Sans voir le reste du code et comment cette UIImageView a été créée, il est difficile de juger de la meilleure façon, mais d'après les apparences, vous pouvez simplement écrire loadImageInto = imgNamed. Là, vous êtes un UIImageView à l'autre. Cependant, je doute que cela fonctionne vraiment. Donc, je suggérerais de passer la valeur NSString ou de poster plus de code.