0

我在一个数组中有几个对象。这些对象来自一个UIImageView子类。

这些对象的类有几个@synthesized 属性。

在某些时候,我必须在数组的给定位置以不同的坐标创建对象的副本。然后我做:

id objectToDuplicate = [myArray objectAtIndex:x];
id newObject = [objectToDuplicate copy];
CGPoint newCenter = [objectToDuplicate center];
newCenter.x = newCenter.x + 10;
newCenter.y = newCenter.y + 10;
[newObject setCenter:newCenter];
[self.view addSubview:newObject];
[newObject release];

当这段代码运行时,什么也没有发生。我的意思是,没有创建具有 10 像素偏移的对象,我在控制台中看到此消息:

** ... copyWithZone:]: 无法识别的选择器发送到实例 ... **

对象具有多个元素,例如文本框、标签和具有阴影、发光等的图像,并且新对象必须具有与文本颜色、阴影、发光、大小、图像等相同的值,因为原来的。

我认为协议UIImageView已经NSCopying到位。如果这是问题所在,我该如何实施?

请不要将我发送给文档,我已阅读它们,这就是我在这里问的原因。请给我一些实际的例子。

谢谢。

4

1 回答 1

1

你在哪里读到那个UIImageView工具NSCopying?它没有,你必须为你的子类自己做。

于 2011-05-16T00:20:22.283 回答