2011-08-25 1 views
1

Quelle est la différence entre les deux méthodes ci-dessous, les deux sont destinés à la cartographie par Interface Builderest IBAction obligatoire pour refléter une méthode sur Interface Builder?

- (void) showNYTimes:(id)sender 
      and 
- (IBAction) showNYTimes:(id)sender 

Les deux fonctionnent parfaitement pour mon exigence, je suis en mesure de cartographier les deux sens sur l'IB. Mais lequel opter, IBAction est-il destiné uniquement à la lisibilité du code?

Merci.

Répondre

0

IBAction est #define d étant vide, en ce qui concerne l'objectif C, ils sont identiques; il est destiné à signaler à Interface Builder que cette méthode particulière est disponible pour être connectée à une vue. "IBAction - Type qualifier used by Interface Builder to synchronize actions added programmatically with its internal list of action methods defined for a project."

Donc, c'est plus que de la lisibilité; c'est une déclaration qui a du sens pour IB. Cependant, je ne suis pas sûr de savoir comment vous avez pu mapper votre méthode (void) dans Interface Builder. Seules les méthodes (IBAction) ont le petit cercle dans la gouttière pour moi.

Questions connexes