IBOutlet 引用两个故事板

3

我在同一个目录下有两个名称非常相似的XCode项目。我注意到当我在一个项目中创建一个与第二个项目中另一个IBOutlet同名的IBOutlet时,该IBOutlet会链接并引用两个storyboard。这让我很困扰,我想知道如何解决这个问题,使其仅引用当前项目的storyboard。

2个回答

2
我在同一个目录下有两个XCode项目。
在同一个目录下?这可能会带来麻烦,因为项目使用相对引用来引用其文件。请每个项目放在单独的项目文件夹中!
编辑:那个答案完全是错误的。实际上,这只是一种临时的Xcode现象。清理派生数据文件夹就可以解决问题,如此描述: 如何清空缓存并清除所有目标Xcode 4

所以有一个名为XX的顶级目录,然后在该目录中有两个更多的文件夹,Project1和Project2。这是一个问题吗? - David
那么有没有解决我的问题的方法?它让我困扰,因为它链接到两个故事板。我应该只是使用不同的变量名称吗?我认为如果不能在不引用两个故事板的情况下使用相同的名称是很愚蠢的。 - David
例如 dev/myProject1/myProject1.xcodeproj/,以及 dev/myProject1/myProject1dev/myProject2/myProject2.xcodeproj/,以及 dev/myProject2/myProject1 - 没有问题。 - matt
1
不是的,我正在尝试将Storyboard中的UIImageView连接到Project1中相应的UIViewController类。当我使用与Project2中另一个IBOutlet相同的变量名进行连接时,我看到行号旁边有一个黑色圆点。我点击它,它会将我链接到Project1和Project2中的storyboard。然而,当我进入Project1中的storyboard时,只有一个引用输出口。也许我误解了,XCode只是告诉我有多个实例具有相同的IBOutlet名称?或者IBOutlet被链接了两次? - David
看到与@David描述的完全相同的行为。 - Scooter
显示剩余5条评论

0

我遇到了完全相同的问题。自从我使用Xcode 4开始,它就一直存在,现在在Xcode 6中仍然存在。

当我将控制器文件复制到新项目中并且同时打开两个项目时,它会出现。一个输出似乎连接到了两个storyboard。

清除Derived Data文件夹和/var/folders文件夹的内容对我来说没有用。重启Xcode也不行。我还尝试将其中一个项目中的Storyboard重命名,但无济于事。

我找到的唯一解决方案是确保控制器具有唯一名称。这可以通过使用唯一的项目前缀轻松完成。我想独特地命名输出也可以解决此问题,但更难跟踪。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接