2009-05-14 13 views
5

Sono nuovo nell'obiettivo-c e ho bisogno di estendere una classe standard di un framework con una variabile di istanza più accessor. Ho sentito che questo è fatto con una cosiddetta "categoria", che suona piuttosto confusa per me. Come funziona fondamentalmente?Come funziona una categoria?

risposta

10

Una categoria aggiunge metodi alla tabella di metodi all'interno di una classe. È molto utile per aggiungere metodi specifici dell'applicazione alle classi framework esistenti.

Se è necessario aggiungere variabili di istanza a una classe, una categoria non eseguirà il lavoro - le categorie aggiungono solo metodi, non dati. Per aggiungere variabili di istanza, devi creare una sottoclasse.

+0

È possibile aggiungere variabili a una categoria con [Oggetti associati] (http://nshipster.com/associated-objects/) –

7

Una categoria di una classe aggiunge metodi a quella classe. Non può aggiungere variabili di istanza.

Se è necessario aggiungere variabili di istanza, è preferibile eseguire la sottoclasse.

+3

Se è necessario aggiungere variabili di istanza, è possibile utilizzare gli oggetti associati. –

Problemi correlati