2013-10-01 2 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도 갖고 싶다면 0을 사용하지 마십시오. – iforce2d

+1

공식 NSMenuItem 문서 사이트는 '메뉴 항목의 태그'처럼 시작하는 매우 유용한 정보를 포함하고 있습니다. – thevikas

3

는 말한다 :

당신은 일반적으로 인터페이스 빌더에서 메뉴 항목에 태그를 지정,하지만 당신은 또한 프로그램 NSMenuItemsetTag: 방법을 사용하여 할당 할 수 있습니다.

자세한 내용은 Application Menus and Pop-Up ListsUser Interface Validation 안내서를 참조하십시오. 그러나 기본적인 아이디어는 코코아가 당신이 거기에 두는 것을 신경 쓰지 않는다는 것입니다.

의도 한 목적은 코드의 일부분을 함께 느슨하게 결합하는 것입니다. 사용자 작업의 유효성을 검사하는 코드는 인터페이스가 설계된 방식을 알 필요가 없으며 인터페이스에 대해 알 필요가 없습니다. 유효성 검사기. 그들은 단지 숫자에 동의해야합니다. 그러나 현대 코코아에서는 액션을보기 만하면되는 것처럼 쉽고 더 느슨합니다. 따라서 태그는 원하는대로 자유롭게 만들어집니다.

관련 문제