Доступ к частной переменной в категории приводит к ошибке компоновщика

РЕДАКТИРОВАТЬ: Я не собираюсь этого делать, теперь я понимаю, насколько это может быть опасно. Но вопрос остается чисто академическим.

Я пытаюсь реализовать категорию в 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. Кто-нибудь знает, как это исправить?

Заранее спасибо!
Билли

10
задан vilhalmer 15 December 2010 в 11:32
поделиться