Vai al contenuto

Problema ereditarietà


Messaggi raccomandati

Salve a tutti.

Ho creato una sottoclasse di UIImageView. All'interno della classe riesco benissimo ad accedere a tutte le proprietà ereditate da UIImageView, ma se provo a chiamarne una di questa al di fuori della classe stessa, non viene riconosciuta!

Come è possibile? Non si può far niente?

Grazie! :)

Link al commento
Condividi su altri siti

Ospite mbro87

Salve a tutti.

Ho creato una sottoclasse di UIImageView. All'interno della classe riesco benissimo ad accedere a tutte le proprietà ereditate da UIImageView, ma se provo a chiamarne una di questa al di fuori della classe stessa, non viene riconosciuta!

Come è possibile? Non si può far niente?

Grazie! :)

In che senso?

Istanzi l'oggetto? Se si dovresti accedervi, a meno che UIMageView non sia una classe astratta.

Link al commento
Condividi su altri siti

Un attimo... forse centra il fatto che ho importato questa classe con @class al posto di import? Sono stato costretto ad importarla in questo modo, dato che questa classe viene importata da una classe che la utilizza, quindi per quel che io sappia, in una classe utilizzo import e in un'altra @class altrimenti si creano loop di importazioni... dico bene? :P

Link al commento
Condividi su altri siti

No.

@class corrisponde alla forward declaration. Dici semplicemente al compilatore che esiste una certa classe e che quindi è un tipo legittimo.

Se ti serve semplicemente come descrittore di tipo basta così. Altrimenti se vuoi chiamarci dei metodi specifici devi anche importare l'header.

Per quanto riguarda le multiple inclusioni:

1) #import risolve il problema rispetto ad #include (import = include max 1 volta)

2) Direi tutte gli header fatti in modo decente hanno le guardie che quindi ti evitano il problema della multipla inclusione con #include

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...