故事板自动复制到新项目

Posted

技术标签:

【中文标题】故事板自动复制到新项目【英文标题】:The storyboard is automatically copied to the new project 【发布时间】:2014-04-25 12:53:46 【问题描述】:

我在 Xcode 中有一个项目,我们将其命名为 A,其中我有一个故事板和几个视图。我只需要项目A 的一部分。因此,我创建了一个新项目B,并使用xib创建了一个新的UIViewController,并将项目A中的两个UIViews复制到B。 现在看起来像这样,RPM DisplaySpeed Display 从 A 复制(通过从 xib 拖动)到 B。

AnalogDisplayContainer属于PD_AnalogDisplayContainer类,我们在PD_AnalogDisplayContainer类中有两个出口:

@property (nonatomic,assign) IBOutlet PD_AnalogDisplay* speedDisplay;
@property (nonatomic,assign) IBOutlet PD_AnalogDisplay* rpmDisplay;

它们连接到xib 中的各个视图。 (我们在项目A 中有完全相同的代码。)这些UIViews 也有一些UILabels,它们会自动复制到项目B 中,我也需要它们。你在这里看到它们:

到这里,我所做的描述。现在,问题: 我在课堂上有三个插座PD_AnalogDisplay

@property (nonatomic, assign) IBOutlet UILabel* unitLabel;
@property (nonatomic, assign) IBOutlet UILabel* digitalIntegerValue;
@property (nonatomic, assign) IBOutlet UILabel* digitalFloatValue;

然而,奇怪的是,当我点击这些插座旁边的小点时,它会显示与故事板的连接,

当我点击连接时,我会看到整个故事板和项目 A 的视图。

另外,当我点击xib时,这些连接并没有显示出来。

我在项目B中搜索,没有故事板,或者我在上图中看到的所有这些东西,以代码的形式。所以我不知道这一切是从哪里来的。我得到运行时错误: 已加载“RPMViewController”笔尖,但未设置视图出口。

【问题讨论】:

【参考方案1】:

是的,无论您复制它,它都会带来以前的参考。 这是因为项目 A 和 B 中的类名相同。 在项目B中创建类名而不是项目A中的类名或稍微更改变量名。

将该类分配给您的 xib 文件。 您必须从 xib 文件重新创建 IBOutletes。 只复制接口组件而不是.h文件中的代码。

观察:

当我将项目 A 移动到另一个位置时,引用会被破坏。

【讨论】:

感谢您的回答。 1)我试图将包含出口的一段代码从项目A复制到记事本,然后复制到项目B,但连接仍然存在。 2)将哪个类分配给xib? 3) 为什么我看到所有的故事板?可以复制吗? 我只有在点击代码本身的小点时才能看到这些连接(如图所示)。当我去 xib 时,我没有看到这些连接(见我刚刚添加的照片),所以我无法删除它们。 它是因为 vieController 类名..尝试 diff 名...我没有正当理由...我知道时会更新你 或者稍微改变变量名 更改了位置和班级名称。故事板还在。

以上是关于故事板自动复制到新项目的主要内容,如果未能解决你的问题,请参考以下文章

将视图控制器从一个故事板移动或复制到另一个故事板

自动布局不适用于故事板中放置的项目

故事板无法加载

IOS / Storyboard:使用Autolayout在一个故事板中复制和粘贴View Controller是否安全

将故事板添加到现有项目

从 ipad 故事板中的视图控制器控制拖动到工具栏而不是自动滚动故事板