2009-05-14 8 views
5

Je suis nouveau à l'objectif-c et j'ai besoin d'étendre une classe standard d'un framework avec une variable d'instance plus accesseurs. J'ai entendu que cela se fait avec une soi-disant "catégorie", ce qui me semble assez confus. Comment cela fonctionne-t-il essentiellement?Comment fonctionne une catégorie?

Répondre

10

Une catégorie ajoute des méthodes à la table de méthodes dans une classe. C'est très pratique pour ajouter des méthodes spécifiques aux applications à des classes de structure existantes.

Si vous devez ajouter des variables d'instance à une classe, une catégorie n'effectuera pas le travail. Seules les catégories ajoutent des méthodes, pas des données. Pour ajouter des variables d'instance, vous devez sous-classer.

+0

Vous pouvez ajouter des variables à une catégorie avec [Objets associés] (http://nshipster.com/associated-objects/) –

7

Une catégorie d'une classe ajoute des méthodes à cette classe. Il ne peut pas ajouter de variables d'instance.

Si vous avez besoin d'ajouter des variables d'instance, vous pouvez vouloir sous-classer à la place.

+3

Si vous devez ajouter des variables d'instance, vous pouvez utiliser des objets associés. –

Questions connexes