2012-03-08 2 views
2

Je veux utiliser imageview unique dans toutes les classes, donc je veux le déclarer comme global. Quelqu'un peut-il me dire comment le déclarer global?Comment déclarer une instance de UIImageView comme globale?

+0

Est-ce que cela doit être utilisé sur plusieurs contrôleurs de vue? –

+0

À mon humble avis, vous pouvez attacher la vue de l'image à [une instance singleton] [1]. [1]: http://stackoverflow.com/questions/5720029/create-singleton-using-gcds-dispatch-once-in-objective-c – ZhangChn

Répondre

1

vous pouvez créer dans appdelegate et de l'utiliser

AppDelegate *localVar = [[UIApplication sharedApplication] delegate]; // OK 
    localVar.imageView=[...]; 
0

Je ne sais pas si cela est quelque chose qui vibes vraiment avec la façon dont iOS fait des choses, mais si vous voulez vraiment, vous pouvez déclarer la variable comme une déclaration avant dans un certain dossier .h:

extern something_t *x; 

puis dans un fichier .c ou .m, réellement définir la variable:

something_t *x; 

Si vous voulez initialiser, vous pouvez placer une initialisation où que vous jugez approprié:

- (void) applicationDidFinishLaunching:(NSNotification*) notice { 
    x = [[Something_T alloc] init]; 
} 

Encore une fois, pas sûr que c'est la bonne façon de résoudre tout problème que vous pourriez avoir. Un singleton pourrait être une idée plus Cocoa-esque.

0

Déclarez la variable dans le fichier Yourapp_Prefix.pch du projet. Le fichier se trouve dans le groupe 'autres sources'.

UIImageView * imgv;

Vous pouvez maintenant accéder à l'objet imgv dans n'importe quelle classe.

Questions connexes