2010-08-13 5 views
1

Je regarde un projet qui m'a été fourni par mon organisation, pour étude.Code iphone inconnu

Le problème est que dans ce projet j'ai trouvé du code que je n'avais jamais vu auparavant.

Dites-moi pourquoi le code suivant est écrit.

-(void)notifications 
{ 
    [[NSNotificationCenter defaultCenter] addObserver: self selector: 
    @selector(hideViews) name: @"Hide" object:nil]; 
} 

Ce problème est dû au fait que ce projet ne contient que du code pour la conception.

Désolé si cela est une question idiote ...

+0

Cela peut être utile si vous nous avez indiqué le langage de programmation. Ou est-ce un test - seul celui qui connaît la langue peut répondre? Sérieusement, plus vous donnez d'informations, plus vous pouvez vous attendre à recevoir de l'aide en retour. – Mawg

+1

@LeonixSolutions - Il est marqué avec iphone-sdk ce qui implique Objective-C. La syntaxe est aussi clairement Objective-C. NSNotificationCenter lui-même est une chose Objective-C :) –

+0

Merci pour la clarification (+1). Désolé d'être si bête. Lear quelque chose de nouveau tous les jours ;-) – Mawg

Répondre

3

Vous devriez lire sur la façon dont les notifications fonctionnent à Cocoa. Pour plus d'informations, consultez la documentation Apple: http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html

Fondamentalement, NSNotificationCenter est une classe qui diffuse NSNotifications d'un objet à potentiellement plusieurs objets d'observation. Un objet peut poster une notification

[[NSNotificationCenter defaultCenter] postNotificationName:@"NotificationName" object:self]; 

et d'autres objets peuvent écouter cette notification.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notificationHandler:) object:theObjectThatPostedTheNotification]; 

Ensuite, lorsque les premiers messages de l'objet de la notification, NSNotificationCenter avisera l'autre objet d'observation et notificationHandler: est appelé.