如何制作 UIComponent 的精确副本? (iPad)
Posted
技术标签:
【中文标题】如何制作 UIComponent 的精确副本? (iPad)【英文标题】:How can I make an exact replica of a UIComponent? (iPad) 【发布时间】:2012-03-21 19:02:54 【问题描述】:我需要在我的应用程序中创建多个 UIComponents
的精确副本。这方面的一个例子是UILabel
。我在界面生成器中创建了两个UILabels
,然后将它们链接起来。
接下来我做了如下:
self.myLabel_a.text = @"Blah blah blah";
// ... and some other settings (eg. font size, colour, etc.)
self.myLabel_b = self.myLabel_a;
但是,当我运行我的应用程序时,我看不到预期的效果。请有人就为什么会发生这种情况提出建议。如果这是一个新手问题,我很抱歉,但是我不明白这里的问题以及如何解决它。
【问题讨论】:
您所体验的是指针如何工作的基础知识。myLabel_a
指向 UILabel
。然后将myLabel_b
设置为myLabel_a
,这将使它也指向相同的UILabel
。您需要两个独立的UILabel
s,如果您希望它们始终显示相同的内容,您需要编写代码来同步它们。
【参考方案1】:
您的代码现在只是分配引用,而不是“复制”。为了支持真实副本,您需要实现NSCopying 协议。 UILabel 不符合NSCopying,你不能只是“复制”。
请参阅以下问题:
How to duplicate an object in Objective C? How to copy an object in objective c【讨论】:
以上是关于如何制作 UIComponent 的精确副本? (iPad)的主要内容,如果未能解决你的问题,请参考以下文章
制作一个 uiview 的精确副本,除了制作它的精确副本实例外,它希望永远不会被自己使用
Flex:将未实现的 UIComponent 渲染到 BitmapData?