J'ai essayé de comprendre le code exemple Three20 de ttnavigator, et dans le fichier MenuController.h, il se présente comme suit:objc Three20 exemple par exemple la page du contrôleur menu ttnavigator déclaration
typedef enum {
MenuPageNone,
MenuPageBreakfast,
MenuPageLunch,
MenuPageDinner,
MenuPageDessert,
MenuPageAbout,
} MenuPage;
@interface MenuController : TTTableViewController {
MenuPage _page;
}
@property(nonatomic) MenuPage page;
@end
Je don Ne comprenez pas pourquoi une page MenuPage est déclarée comme variable d'instance, alors qu'une autre page MenuPage est déclarée dans la section @property. Dans le fichier MenuController.m, la page MenuPage est synthétisée, pas _page.
Est-ce légal?
Je sais que cela fonctionne, car il compile, mais je ne comprends pas pourquoi on n'a pas besoin de mettre un @property (nonatomic, retain) MenuPage _page
ou déclarer MenuPage page
dans l'interface.
Merci!
Merci, mais pourquoi voudrions-nous séparer l'ivar de la propriété si nous voulons les rendre équivalents à la synthèse? – Jon