Нет, вы обычно не хотите помещать указатель на объект на монтажный стол.
На картоне должен быть (в основном) один из двух типов вещей: данные или обещание предоставить данные, когда их об этом попросят. Срок службы картона потенциально (и вероятно) намного дольше, чем срок службы вашего приложения. Итак, представьте себе этот сценарий:
- Пользователь копирует некоторые данные. Вы помещаете указатель на свой объект на перетаскивании.
- Пользователь выходит из вашей программы. Ваш объект освобожден.
- Пользователь запускает еще один экземпляр вашей программы и нажимает вставить.
Вероятный результат: вы зависаете, когда второй экземпляр вашей программы разыменовывает неверный указатель.
Какие данные на самом деле должны быть помещены на монтажную панель, может быть очень специфичным для вашей программы, но вы, вообще говоря, не хотите помещать туда «живые» данные. В ваших интересах архивировать. NSCoder
может пригодиться для простого архивирования.
Я выделю здесь исключение и скажу, что один мог бы представить себе работу с указателями, если бы только когда-либо было сделано для перетаскивания (поскольку я не думаю, что вы можете сделать перетаскивание без работающей программы) и если вы очистили монтажный стол перетаскивания при выходе из программы. Но это не лучшая практика, и я бы сказал, что если вы не очень опытны и не очень осведомлены о подводных камнях, это рискованная техника.