Yes, you are right, there is no notification for removeAll.
And you rightly said you need to subclass
Or, need some tricks (may be hacky work)
Even you can make a category with a method as removeEachItem
.
If the menu is left with only one item you can track that NSMenuDidRemoveItemNotification
is getting called last time, you are done with your requirement.