2011-03-29 2 views
2

Existe-t-il une différence dans la définition des variables d'instance privées? Si je comprends bien, il y a deux possibilties:Définition des variables d'instance privée Objective-C

1) Dans le fichier d'en-tête

@interface MyViewController : UIViewController { 
    @private 
    NSString *fooString; 
} 

2) Deuxième moyen est de définir dans la mise en œuvre:

@implementation MyViewController 
NSString *fooString; 

Quelle est la différence? À votre santé!

Répondre

7

Dans 2 cas fooString n'est pas variable d'instance - il est variable globale, de sorte que vos deux cas sont complètement différents

1

Le premier est un fooString unique par MyViewController que vous créez.

La seconde est une fooString que tous les partageurs MyViewController.

4

La première façon définit une variable d'instance privée. Chaque objet de la classe MyViewController aura son propre fooString privé.

La deuxième méthode définit une variable globale. Il y aura une seule instance de fooString et il sera visible à tout fichier source avec la déclaration suivante:

extern NSString *fooString; 
Questions connexes