2013-10-01 10 views
5

アイテムのタグ属性を使用して特別なキー/ IDを格納することはできますか?意図された使用のNSMenuItemのタグ属性の目的は何ですか?

例:

- (void)awakeFromNib { 

    [self.popup addItemWithTitle: [NSString stringWithFormat: @"dummy title" ]]; 
    [[self.popup lastItem] setTag: 1658 ]; 
    } 

    - (IBAction)popupAction: (id)sender { 

    [self someMethod: [sender selectedItem].tag]; 

    } 

答えて

4

ええすべてのコントロールのtagがあなたのよこしまな使用のために自由である、あなたは別のアイテムのために異なる番号を使用することができ、またはアイテムの種類としてそれらを識別するために、それはありますあなた次第。 the documentationとして

+1

メニューにseparatorItemsを設定したい場合は、ゼロを使用しないでください。 – iforce2d

+1

公式のNSMenuItemドキュメントサイトは、「メニューアイテムのタグ」のように始まり、パラが終了する非常に有用なパラがあります。 – thevikas

3

は言う:

あなたは、一般的にInterface Builderから、メニュー項目にタグを割り当てるが、あなたもNSMenuItemsetTag:方法を使用してプログラムに割り当てることができます。

詳細については、Application Menus and Pop-Up ListsUser Interface Validationガイドをご覧ください。しかし、基本的な考え方は、ココアはあなたがそこに置いたものを気にしないということです。

私は、あなたのコードの一部を疎結合させることを目的としていると考えています。ユーザーの行動を検証するコードは、インターフェイスの設計方法を知る必要はなく、インターフェイスにはバリデータ。彼らは数に同意する必要があります。しかし、現代のココアでは、アクションを見るだけで簡単に、そしてもっと緩やかなので、タグはあなたが望むもののために解放されます。

関連する問題