【问题标题】:Why can't I set a referencing outlet for my NSTextView in XCode 4?为什么我不能在 XCode 4 中为我的 NSTextView 设置引用出口?
【发布时间】:2011-11-03 16:25:09
【问题描述】:

我正在使用 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,但没有任何效果。我做错了什么?

【问题讨论】:

  • 对我来说重新启动 Xcode 解决了这个问题。以防万一其他人遇到这个问题。

标签: interface-builder xcode4.2


【解决方案1】:

我注意到 .m 文件被移动到 en.lproj 文件夹中。

只需从 Xcode 中删除(仅供参考).m 文件并将 .m 移出 en.lproj。 再次添加它。它将解决问题。

别担心,您将恢复所有连接。

【讨论】:

    【解决方案2】:

    虽然我仍然对合适的解决方案感兴趣,但我通过手动编辑 xib 代码来创建链接来解决这个问题。

    这有界面编辑器拒绝与文件很好地配合的不幸副作用(尽管我所有的手动编辑都是正确的,并且代码可以完美编译和运行)。

    【讨论】:

      【解决方案3】:

      我在 xcode 4.6.0 中遇到了这个错误。重新启动 xcode 并没有为我修复它。删除项目的派生数据,然后重新启动 xcode 确实修复了它。

      删除 /Users/myusername/Library/Developer/Xcode/DerivedData/MyProject

      【讨论】:

        【解决方案4】:

        要检查的另一件事是确保如果您有一个自定义类,您在 Interface Builder 的身份检查器中的“自定义类”下指定它。

        例如,如果您有以下声明

        @interface MyViewController : UIViewController {
        @public
          IBOutlet MyCustomView* aCustomView;
        
        }
        @end
        

        确保将其添加到检查器中,如图所示。不然我发现你挂不上去。

        【讨论】:

        • 谢谢!对我来说就是这样......我从另一个 UIViewController 复制/粘贴,所以自定义类不正确。
        猜你喜欢
        • 1970-01-01
        • 2011-09-23
        • 2013-09-24
        • 1970-01-01
        • 1970-01-01
        • 2010-10-17
        • 2021-12-29
        • 1970-01-01
        • 2019-10-28
        相关资源
        最近更新 更多