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​ ...

Get Cocoa Programming for OS X: The Big Nerd Ranch Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.