I noticed the bug when I re-added an Edit menu to a Mac app that I had earlier removed. Turns out that all your NSTextFields lose their ability to cut/copy/paste and undo if you don’t have corresponding menu items.
So after I copied the menu over for another app I found that I couldn’t find the redo: action to connect to the Redo menu item. Filed as Radar rdar://13113666 and cross-posted on Open Radar.
Summary
When creating a new Mac app the Interface Builder does not see several standard actions, amongst them redo:. This leads to developer confusion if you want to re-add an Edit menu because there is no redo action to connect to a Redo menu item.
Steps to Reproduce:
- Create a new Mac app
- view MainMenu.xib’s actions on First Responder
- several items, including redo: have an exclamation mark next to them
- delete the connection to redo and the item will disappear altogether
Expected Results
- There is an undo: action, so there should also be a redo: action
- I would expect to be able to connect a Redo menu item to a redo: action.
Actual Results
- There is no redo: action visible
- Instead the
- I need to create a custom action redo: to be able to make the connection
Regression
This is usually not noticeable because few people would remove the Edit menu.
Notes
As a workaround you can create a custom action named redo:. It does not seem to interfere with normal operation of the app. You can also remove the custom action after making the connection if you don’t mind the exclamation mark in the list of First Responder’s actions.
Categories: Bug Reports
-undo:/-redo: are not actions of NSResponder. And if I remember correctly only NSTextView returns itself as a handler of these actions.
confirm
thanks for solution 🙂