Acessar variável privada na categoria resulta em erro do vinculador
Edição: Eu não vou fazer isso, agora percebo o quão perigoso isso pode ser. Mas, a questão permanece com propósitos puramente acadêmicos.
Estou tentando implementar uma categoria no NSCollectionView que permitirá acessar a variável privada _displayedItems. Eu preciso ser capaz de acessá-lo na minha subclasse. Então, eu criei a seguinte categoria:
@interface NSCollectionView (displayedItems)
- (NSMutableArray *)displayedItems;
@end
@implementation NSCollectionView (displayedItems)
- (NSMutableArray *)displayedItems
{
return _displayedItems;
}
@end
... o que parece funcionar perfeitamente. No entanto, quando tento compilar isso, o vinculador me dá o seguinte erro:
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
Sei que _displayedItems existe no NSCollectionView, observei a interface e também imprimi seu conteúdo usando o gdb. Alguém sabe uma maneira de consertar isso?
Desde já, obrigado!
Billy