Отделение NSPasteboardItem от картона
То, что я пытаюсь сделать на высоком уровне, - это сохранить текущие данные, которые находятся на монтажном столе (данные любого типа), используя этот код, который я считаю правильным:
- (NSArray *)readFromPasteBoard
{
NSMutableArray *pasteboardItems = [NSMutableArray array];
for (NSPasteboardItem *item in [pasteboard pasteboardItems]) {
//Create new data holder
NSPasteboardItem *dataHolder = [[NSPasteboardItem alloc] init];
//For each type in the pasteboard's items
for (NSString *type in [item types]) {
//Get each type's data and add it to the new dataholder
NSData *data = [[item dataForType:type] mutableCopy];
if (data) {
[dataHolder setData:data forType:type];
}
}
[pasteboardItems addObject:dataHolder];
}
return pasteboardItems;
}
Я тогда храню pasteboardItems
для последующего использования. Моя проблема заключается в том, что, когда я пытаюсь записать эти же данные в монтажный картон:
- (void)writeToPasteBoard:(NSArray *)objectsToWrite
{
[pasteboard clearContents];
[pasteboard writeObjects:objectsToWrite];
}
То, что я делаю, передает массив с NSPasteboardItem
Я сделал раньше. Я тогда получаю эту ошибку:
Cannot write pasteboard item <NSPasteboardItem: 0x101a11540>. It is already associated
with another pasteboard.
Я немного запутался, потому что NSPasteboardItem
Я пытаюсь записать в монтажный картон, не связанный с каким-либо монтажным картоном, так как я сам его создал и никогда не извлекал его из монтажного картона. Спасибо за вашу помощь, пожалуйста, дайте мне знать, если вам нужно больше деталей.