我正在使用Interface Builder在XCode 4中进行简单对话。我有三个NSButton,所有这些都连接到相关的IBOutlets。但是我有一个NSTextView,我也想加入它。我在MyDialog.h
中声明了它:
@interface MyDialog : NibLoaderOC {
@public
IBOutlet NSTextView* tv;
IBOutlet NSButton* acceptButton;
IBOutlet NSButton* editButton;
IBOutlet NSButton* rejectButton;
}
@end
但是,当我将“新引用出口”行拖过tv
时,它不会突出显示。如果我尝试建立一个新的出口,它说:
无法插入新的插座连接:无法找到名为MyDialog的课程的任何信息
我试过重启XCode,这没什么。我做错了什么?
答案 0 :(得分:3)
我注意到.m文件已在en.lproj文件夹中移动。
只需从Xcode中删除(仅引用).m文件,然后将.m移出en.lproj。 再次添加它。它将解决问题。
别担心,您将恢复所有联系。
答案 1 :(得分:1)
虽然我仍然对正确的解决方案感兴趣,但我通过手动编辑xib代码来修复此问题以创建链接。
这有一个令人遗憾的副作用,界面编辑器拒绝与文件很好地配合(尽管我的所有手动编辑都是正确的,并且代码编译和运行完美)。
答案 2 :(得分:1)
我在xcode 4.6.0中遇到了这个错误。重新启动xcode没有为我修复它。删除项目的派生数据,然后重新启动xcode确实修复了它。
delete / Users / myusername / Library / Developer / Xcode / DerivedData / MyProject
答案 3 :(得分:1)
要检查的另一件事是确保如果您有一个自定义类,您可以在Interface Builder的Identity检查器中的“Custom class”下指定它。
例如,如果您有以下声明
@interface MyViewController : UIViewController {
@public
IBOutlet MyCustomView* aCustomView;
}
@end
确保将其添加到检查器中,如图所示。否则我发现你将无法连接它。