【问题标题】:FirstResponder missing redo:FirstResponder 缺少重做:
【发布时间】:2012-12-30 22:37:08
【问题描述】:

为什么我在 InterfaceBuilder 文件中的 FirstResponder 缺少 redo: 连接(在 Received Actions 列表中)? undo: 存在,但 redo: 不存在。我该如何解决?

【问题讨论】:

  • 我完全不明白你的问题,你能详细说明一下吗?
  • 在InterfaceBuilder的文件(默认名称:MainMenu.xib)中总是有一个名为FirstResponder的对象。它总是有一些默认连接。如果你想实现NSUndoManager,你需要使用FirstResponder的连接undo:/redo:。我已经实现了NSUndoManager。添加了FirstResponderundo: 连接到按钮女巫应该执行撤消功能。有用。现在我需要来自FirstResponderredo: 连接来添加重做功能。它总是可以在FirstResponder 中找到,但现在我的FirstResponder 中没有redo: 连接。为什么会这样?
  • 他的意思是,当他在 nib 文件中选择了 First Responder 占位符项目,并打开了连接检查器时,undo: 不在列出的 Received Actions 之一中...
  • 4.5.2.我创建了新项目,第一响应者中存在两个连接,但在我当前的项目中 redo: 不存在

标签: objective-c macos undo first-responder redo


【解决方案1】:

这是一个错误。解决方法是将其放入某个文件中:

@interface NSResponder (Redo)
- (IBAction)redo:(id)sender;
@end

然后在 Interface Builder 中建立连接。完成后,您可以删除此代码。

【讨论】:

    【解决方案2】:

    这是 Xcode 中的一个错误,它看不到 redo: 动作,即使它存在。作为一种解决方法,您可以创建自定义操作重做:用于建立连接。

    在这里查看我的雷达:http://www.cocoanetics.com/2013/01/radar-interface-builders-first-responder-is-missing-some-editing-actions/

    【讨论】:

      猜你喜欢
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-07
      • 2015-09-30
      • 1970-01-01
      相关资源
      最近更新 更多