EDIT: Я не собираюсь этого делать, теперь я понимаю, насколько это опасно. Но вопрос остается в чисто академических целях.
Я пытаюсь реализовать категорию в NSCollectionView, которая позволит мне получить доступ к частной переменной _displayedItems. Мне нужно иметь доступ к нему в моем подклассе. Итак, я создал следующую категорию:
@interface NSCollectionView (displayedItems)
- (NSMutableArray *)displayedItems;
@end
@implementation NSCollectionView (displayedItems)
- (NSMutableArray *)displayedItems
{
return _displayedItems;
}
@end
... Кажется, что он отлично работает. Однако, когда я пытаюсь скомпилировать это, компоновщик дает мне следующую ошибку:
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
Я знаю, что _displayedItems существует в NSCollectionView, я просмотрел интерфейс, а также распечатал его содержимое с помощью gdb. Кто-нибудь знает, как это исправить?
Спасибо заранее! Билли