2009-12-23 9 views
-1

Dans ce:Qu'est-ce que "self" et comment la propriété "view" a-t-elle été utilisée?

-(IBAction)buttonClick: (id)sender { 
    UIActionSheet *actionSheet = [[UIActionSheet alloc] 
            initWithTitle:@"Fo Sho?" 
            delegate:self 
            cancelButtonTitle:@"Cancel" 
            destructiveButtonTitle:@"fo sho" 
            otherButtonTitles:nil]; 
    [actionSheet showInView:self.view]; 
} 

Un UIButton serait lié à cette "ButtonClick" IBAction mais ce qui est "soi"?

+1

Voter pour fermer car il s'agit d'un doublon probable: http://stackoverflow.com/questions/1950155/iphone-obj-c-where-does-this-view-property-come-from –

+0

exact duplicata de l'autre question – stefanB

+0

Il est également proche de cela: http://stackoverflow.com/questions/1883973/is-self-a-pointer –

Répondre

1

self est l'équivalent de this dans de nombreux autres langages tels que C++. En d'autres termes lorsque vous appelez [myString length], le pointeur self à l'intérieur du message length est le pointeur vers votre chaîne nommée myString.

-(void)logScore 
{ 
    NSLog(@"%@ score is %d", self.name, self.score); 
} 

[player logScore]; 

Dans l'exemple, self est l'objet player.

+0

qu'en est-il dans mon exemple spécifique? Serait-ce UIButton ou UIView ou UIViewController? – Devoted

+1

si buttonClick est la méthode du contrôleur View, alors ce sera le contrôleur de vue. si buttonClick est la méthode de View, alors ce sera la vue. –

+1

Ce serait une instance de la classe à laquelle appartient le '#buttonClick:' -Method, que vous nous montrez. Très probablement un 'UIViewController' mais comme vous ne nous montrez plus de code, c'est juste une supposition – nils