Je sais qu'en Objective-C, il ne faut jamais retenir les délégués car cela peut provoquer un cycle de rétention, mais comment faire la différence entre un délégué et un objet non-délégué ? Ne peut-on pas dire que le simple fait d'envoyer un message à un objet quelconque revient à lui déléguer du travail ?
Réponse
Trop de publicités?A délégué en Objective-C a une définition assez bien établie. Ils sont généralement utilisés dans des classes qui sont déjà implémentées, mais qui disposent de certaines options de personnalisation.
Par exemple, le UIApplicationDelegate
est utilisé pour mettre en œuvre un comportement spécifique à l'application, de sorte que vous ne devez pas sous-classer UIApplication
. Cela permet de réduire au minimum le code passe-partout.
En outre, les objets délégués sont généralement conservés à l'aide de la propriété delegate. Je dirais que tout objet qui n'est pas la propriété du délégué, n'est pas un objet délégué. Les objets délégués sont généralement utilisés pour agir au nom de l'objet régulier.
J'espère que cela vous aidera, votre question était assez ouverte.