2013-10-01 18 views
5

Tôi có thể sử dụng thuộc tính thẻ của mặt hàng để lưu trữ khóa/ID đặc biệt hoặc nó có ý nghĩa gì khác không?Mục đích của thuộc tính thẻ của NSMenuItem là gì?

Ví dụ về mục đích sử dụng:

- (void)awakeFromNib { 

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

    - (IBAction)popupAction: (id)sender { 

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

    } 

Trả lời

4

vâng các tag của tất cả các điều khiển là miễn phí để sử dụng ranh ma, bạn có thể sử dụng các số khác nhau cho các hạng mục khác nhau, hoặc để xác định chúng như một loại mặt hàng, nó là tùy thuộc vào bạn.

+1

Chỉ cần không sử dụng số không, nếu bạn cũng muốn có dấu phân táchCác mục trong menu của bạn. – iforce2d

+1

Trang web chính thức của tài liệu NSMenuItem có đoạn rất hữu ích về nó bắt đầu như 'Thẻ của mục menu.' và có đoạn cuối. – thevikas

3

Như the documentation nói:

Bạn thường gán thẻ cho các mục menu từ giao diện Builder, nhưng bạn cũng có thể gán cho họ lập trình bằng cách sử dụng phương pháp setTag: của NSMenuItem.

Để biết thêm chi tiết, hãy đọc hướng dẫn Application Menus and Pop-Up ListsUser Interface Validation. Nhưng ý tưởng cơ bản là Cocoa không quan tâm những gì bạn đặt ở đó.

Tôi tin rằng mục đích dự định là cho phép bạn kết hợp các phần mã của mình một cách lỏng lẻo — mã xác thực hành động của người dùng không phải biết giao diện của bạn được thiết kế như thế nào và giao diện của bạn không phải biết gì về trình xác thực; họ chỉ phải đồng ý về một số. Tuy nhiên, trong ca cao hiện đại, nó chỉ là dễ dàng, và thậm chí còn lỏng lẻo hơn, chỉ cần nhìn vào hành động, do đó, thẻ được giải phóng cho bất cứ điều gì bạn muốn.

Các vấn đề liên quan