O'Reilly logo

Cocoa Programming for OS X: The Big Nerd Ranch Guide by Aaron Hillegass, Adam Preble, Nate Chandler

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Menu Item Validation

Cocoa automatically disables menu items when it cannot find that menu item’s action in the responder chain. At times you will want to disable a menu item depending on the state of the application. Consider the Cut, Copy, and Paste items: they are automatically disabled whenever there is nothing to be copied or cut or if there is nothing on the pasteboard.

This validation is performed by overriding the validateMenuItem(_:) method in the same class as the actions you want to validate. For example, you could disable copying when no number is displayed by implementing this method in DieView:

 ​ ​ ​ ​o​v​e​r​r​i​d​e​ ​f​u​n​c​ ​v​a​l​i​d​a​t​e​M​e​n​u​I​t​e​m​(​m​e​n​u​I​t​e​m​:​ ​N​S​M​e​n​u​I​t​e​m​)​ ​-​>​ ​B​o​o​l​ ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required