我正在尝试新的Xcode 4.2 Beta,我想知道我的代码是错还是我碰到了一个bug。
新的故事板功能很有前途,但目前非常错误。现在我用tableview创建了一个简单的项目。此tableview将是包含UITextFields的“分组样式”。故事板的新“原型单元”功能允许您在GUI中创建原型单元,您可以使用方法cellForRowAtIndexPath中的“重用标识符”进行绘制。 当我在这个“原型单元格”中拖入UITextField并将其绘制出来时,效果很好!
然而!当我将此文本字段引用到我的代码中的插座时,我收到错误: 未分类 编译失败。无法写入路径:...(DerivedData的路径)
这是为什么? 这是一个错误吗? 其他人得到这个吗?
答案 0 :(得分:31)
我在Xcode 4.2(也是最终版本)中偶尔遇到过这个问题。
它通常与您设置的插座或其他连接有关,编译器对此感到不满(缺少更好的术语)。诀窍是确定哪个连接。
您可以通过执行以下操作在Xcode 4.2中查看构建过程的详细输出:
答案 1 :(得分:4)
如果任何人仍然有这个问题我发现解决方案是使用标签而不是出口。
的cellForRowAtIndexPath
UILabel *titleLabel = (UILabel *)[cell viewWithTag:1001];
titleLabel.text = @"Name";
答案 2 :(得分:4)
好的,我的同事向我展示了连接检查员,瞧,有一个旧连接导致构建失败。因此,选择.storyboard文件,打开连接检查器(带箭头的最后一个),它将为您提供所有连接的概述。
答案 3 :(得分:1)
我没有完美的解决方案来解决你的问题,但我也有同样的方法,我找到了一种方法使其工作(没有将插座连接到TableViewController)。
尝试从头开始重建您的视图并构建&每次添加组件时都会运行。
为了添加一个TableViewController =>测试它是否显示空表。
设计您的自定义单元格并将单元格的Outlets链接到它。 (不伪造更改TableViewCell的类)=>再试一次
然后将TableViewController的Class更改为您的类,现在您就可以访问您的单元的出口。
它对我有用。我希望它适合你。
答案 4 :(得分:1)
我必须在〜/ Library / Developer / Xcode / DerivedData /中重新删除我项目的文件夹。您可以使用上面的Tony程序在日志中找到该文件夹的名称。
编辑: 我现在认为这是Xcode(版本4.2.1)中的一个错误。这对我来说是间歇性的。为了解决它,我必须重建,有时两到三次。建立/清洁似乎没有帮助。
编辑2: 好的,希望是真正的问题。我在项目导航器中有两个对我的故事板的引用(可能是复制/重建项目的遗留物)。我刚删除其中一个(确保只删除引用!)。似乎可能是问题(Xcode同时编译同一个文件两次)。
答案 5 :(得分:1)
当我尝试在故事板ID的名称中添加/时,我收到此错误。检查您是否使用安全字符! (DOH!)
答案 6 :(得分:0)
您不应将标题或图像或细节标签添加到插座。
为什么你还需要一个插座?
在实现协议时,它们会在代码中隐式修改。