EDITAR: No voy a hacer esto, ahora me doy cuenta de lo peligroso que puede ser esto. Pero, la pregunta se mantiene con fines puramente académicos.Accediendo a la variable privada en la categoría resultados en el error del enlazador
Estoy tratando de implementar una categoría en NSCollectionView que me permita acceder a la variable privada _displayedItems. Necesito poder acceder a él en mi subclase. Por lo tanto, he creado la siguiente categoría:
@interface NSCollectionView (displayedItems)
- (NSMutableArray *)displayedItems;
@end
@implementation NSCollectionView (displayedItems)
- (NSMutableArray *)displayedItems
{
return _displayedItems;
}
@end
... que parece que debería funcionar a la perfección. Sin embargo, cuando intento compilar esto, el enlazador me da el siguiente error:
Undefined symbols:
"_OBJC_IVAR_$_NSCollectionView._displayedItems", referenced from:
-[NSCollectionView(displayedItems) displayedItems] in NSCollectionView+displayedItems.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Sé que es un hecho de que _displayedItems existe en NSCollectionView, he mirado en la interfase y también imprimió su contenido utilizando el BGF. ¿Alguien sabe de una manera de arreglar esto?
¡Gracias de antemano!
Billy
He encontrado que esta es la mejor respuesta. Fácil, simple y seguro: http: // stackoverflow.com/questions/16678463/accessing-a-method-in-a-super-class-when-its-not-exposed –