我正在尝试在卡布奇诺中实现拖放操作,但是当我在CPView上删除图像时仍然出现错误,我从下面的控制台复制了错误消息。
CPInvalidArgumentException: - [CPImage removeFromSuperview]无法识别的选择器发送到实例0x0051bd
我正在从CPCollectionView中拖动一个图像,该图像包含在CPScrollView中并将其放在CPView上。我按照ScrapBook教程中的示例进行了操作。
下面是我的CPView上用于删除的代码,此代码导致控制台的输出
- (void)performDragOperation:(CPDraggingInfo)aSender
{
var data = [[aSender draggingPasteboard] dataForType:PhotoDragType];
[self addSubview:[CPKeyedUnarchiver unarchiveObjectWithData:data]];
}
我在AppController.j中定义了我的拖动类型,因为我的CPScrollView被定义了,不知道这是否导致了这个问题。
感谢。
答案 0 :(得分:1)
拖放粘贴板中的内容不是视图,它是集合视图项的representObject。 (在您的情况下是一个CPImage对象)。
这里的解决方案是创建一个新的CPImageView并将其添加到drop视图,然后将该图像视图的图像设置为粘贴板数据(假设它始终是图像)。