Первый:
-acceptsPreviewPanelControl должен только возвращать YES, а не пытаться установить делегат и источник данных.
Затем проблема заключается в том, что вы получаете исключение, нарушающее панель:
2010-12-24 15: 32: 18.291 BackMeUp [4763: 80f] - [NSPathStore2 stringValue]: нераспознанный селектор, отправленный экземпляру 0x5ecb10
Исключительная ситуация, вероятно, вызванная этими вызовами:
[[[self dataSource] tableView:self objectValueForTableColumn:fileColumn row:selectedRow] stringValue]
Скорее всего, [[self dataSource] tableView: self objectValueForTableColumn: fileColumn строка: selectedRow] - это путь к файлу (экземпляр NSPathStore, который является подклассом NSString), поэтому он не отвечает на -stringValue
Замените:
[NSURL URLWithString:[[[self dataSource] tableView:self objectValueForTableColumn:fileColumn row:selectedRow] stringValue]]
на:
[NSURL fileURLWithPath:[[self dataSource] tableView:self objectValueForTableColumn:fileColumn row:selectedRow]]
Также удалите вызов -stringValue в transitionImageForPreviewItem.
В качестве примечания, похоже,Неоптимально загружать изображение при каждом вызове transitionImageForPreviewItem.Я предполагаю, что у вас уже есть изображение, вычисленное в другом месте (отображаемое в табличном представлении), попробуйте использовать его.