---
title: NSMenuItem
framework: appkit
role: symbol
role_heading: Class
path: appkit/nsmenuitem
---

# NSMenuItem

A command item in an app menu.

## Declaration

```swift
class NSMenuItem
```

## Overview

Overview The NSMenuItem class includes some private functionality needed to maintain binary compatibility with other components of Cocoa. Because of this fact, you can’t replace the NSMenuItem class with a different class, but you can subclass it if necessary.

## Topics

### Creating a menu item

- [init(title:action:keyEquivalent:)](appkit/nsmenuitem/init(title:action:keyequivalent:).md)
- [init(coder:)](appkit/nsmenuitem/init(coder:).md)

### Enabling a menu item

- [isEnabled](appkit/nsmenuitem/isenabled.md)

### Managing hidden status

- [isHidden](appkit/nsmenuitem/ishidden.md)
- [isHiddenOrHasHiddenAncestor](appkit/nsmenuitem/ishiddenorhashiddenancestor.md)

### Managing the target and action

- [target](appkit/nsmenuitem/target.md)
- [action](appkit/nsmenuitem/action.md)

### Managing the title

- [title](appkit/nsmenuitem/title.md)
- [attributedTitle](appkit/nsmenuitem/attributedtitle.md)

### Managing the tag

- [tag](appkit/nsmenuitem/tag.md)

### Managing the state

- [state](appkit/nsmenuitem/state.md)

### Managing the image

- [image](appkit/nsmenuitem/image.md)
- [onStateImage](appkit/nsmenuitem/onstateimage.md)
- [offStateImage](appkit/nsmenuitem/offstateimage.md)
- [mixedStateImage](appkit/nsmenuitem/mixedstateimage.md)

### Managing the badge

- [badge](appkit/nsmenuitem/badge.md)

### Managing the section header

- [isSectionHeader](appkit/nsmenuitem/issectionheader.md)

### Managing submenus

- [submenu](appkit/nsmenuitem/submenu.md)
- [hasSubmenu](appkit/nsmenuitem/hassubmenu.md)
- [parent](appkit/nsmenuitem/parent.md)

### Managing the separator item

- [isSeparatorItem](appkit/nsmenuitem/isseparatoritem.md)
- [separator()](appkit/nsmenuitem/separator().md)

### Managing the owning menu

- [menu](appkit/nsmenuitem/menu.md)

### Managing key equivalents

- [keyEquivalent](appkit/nsmenuitem/keyequivalent.md)
- [keyEquivalentModifierMask](appkit/nsmenuitem/keyequivalentmodifiermask.md)

### Managing mnemonics

- [setTitleWithMnemonic(_:)](appkit/nsmenuitem/settitlewithmnemonic(_:).md)

### Managing user key equivalents

- [usesUserKeyEquivalents](appkit/nsmenuitem/usesuserkeyequivalents.md)
- [userKeyEquivalent](appkit/nsmenuitem/userkeyequivalent.md)
- [allowsAutomaticKeyEquivalentLocalization](appkit/nsmenuitem/allowsautomatickeyequivalentlocalization.md)
- [allowsAutomaticKeyEquivalentMirroring](appkit/nsmenuitem/allowsautomatickeyequivalentmirroring.md)
- [allowsKeyEquivalentWhenHidden](appkit/nsmenuitem/allowskeyequivalentwhenhidden.md)

### Managing alternates

- [isAlternate](appkit/nsmenuitem/isalternate.md)

### Managing indentation levels

- [indentationLevel](appkit/nsmenuitem/indentationlevel.md)

### Managing tool tips

- [toolTip](appkit/nsmenuitem/tooltip.md)

### Representing an object

- [representedObject](appkit/nsmenuitem/representedobject.md)

### Managing the view

- [view](appkit/nsmenuitem/view.md)

### Getting highlighted status

- [isHighlighted](appkit/nsmenuitem/ishighlighted.md)

### Identifying the Continuity Camera menu item

- [importFromDeviceIdentifier](appkit/nsmenuitem/importfromdeviceidentifier.md)

### Type Methods

- [sectionHeader(title:)](appkit/nsmenuitem/sectionheader(title:).md)
- [sectionHeader(withTitle:)](appkit/nsmenuitem/sectionheader(withtitle:).md)

### Instance Properties

- [preferredImageVisibility](appkit/nsmenuitem/preferredimagevisibility.md)
- [subtitle](appkit/nsmenuitem/subtitle.md)

### Type Properties

- [writingToolsItems](appkit/nsmenuitem/writingtoolsitems.md)

### Enumerations

- [NSMenuItem.ImageVisibility](appkit/nsmenuitem/imagevisibility.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSAccessibilityElementProtocol](appkit/nsaccessibilityelementprotocol.md)
- [NSAccessibilityProtocol](appkit/nsaccessibilityprotocol.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSUserInterfaceItemIdentification](appkit/nsuserinterfaceitemidentification.md)
- [NSValidatedUserInterfaceItem](appkit/nsvalidateduserinterfaceitem.md)

## See Also

### Menus

- [NSMenu](appkit/nsmenu.md)
- [NSMenuItemBadge](appkit/nsmenuitembadge.md)
- [NSMenuDelegate](appkit/nsmenudelegate.md)
