изменение порядка строк таблицы путем перетаскивания в Lion

У меня проблемы с использованием новой функциональности Lion для изменения порядка строк в моем приложении. Я использую outlineView: pasteboardWriterForItem: для хранения индексов строк, чтобы я мог получить к ним доступ позже, когда я подтверждаю / принимаю перетаскивание. Я создаю новый NSPasteboardItem для возврата и пытаюсь сохранить номер строки следующим образом:

[pbItem setData: [NSKeyedArchiver archivedDataWithRootObject: [NSNumber numberWithInteger: [fTableView rowForItem: item]]]
                                                     forType: TABLE_VIEW_DATA_TYPE];

TABLE_VIEW_DATA_TYPE - это настраиваемая строка, которую я использую, чтобы различать свои настраиваемые данные на перетаскиваемом монтажном столе. Я не использую его, кроме перетаскивания этих строк.

При попытке перетаскивания я получаю в консоли: «TableViewDataType» не является допустимой строкой UTI. Невозможно установить данные для недопустимого UTI.

Конечно, я мог бы использовать некоторые встроенные UTI для монтажных столов, но ни один из них не применим (и их использование приводит к тому, что перетаскивание принимает перетаскивание, кроме строк, чего не должно быть). Есть ли что-то, чего мне не хватает, например, способ определения пользовательского UTI только для перетаскивания (не делая его «настоящим» UTI, поскольку он мне не нужен за пределами внутреннего перетаскивания, поэтому он не должен быть общедоступным).

Спасибо за любую помощь!

6
задан Sophie Alpert 31 December 2011 в 02:14
поделиться