2013-10-01 30 views
5

Özel bir anahtar/ID depolamak için öğenin tag özelliğini kullanabilir miyim, yoksa başka bir şey mi ifade eder? amaçlanan kullanımNSMenuItem'in tag niteliğinin amacı nedir?

Örnek:

- (void)awakeFromNib { 

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

    - (IBAction)popupAction: (id)sender { 

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

    } 

cevap

4

evet tüm kontrollerin tag farklı öğeler için farklı sayılar kullanabilir veya öğenin bir tür olarak tanımlamak için, sizin dolambaçlı kullanım için ücretsizdir, öyle sana bağlı. the documentation olarak

+1

Ayrıca, menünüzde ayırıcı öğeleri bulundurmak isterseniz sıfır kullanmayın. – iforce2d

+1

Resmi NSMenuItem dokümanlar sitesinde, 'Menü öğesinin etiketi' gibi başlayan ve paranın bitmesine çok yardımcı olan bir para var. – thevikas

3

diyor ki:

Genellikle Interface Builder gelen menü öğeleri etiket atamak, ama aynı zamanda programlı NSMenuItem ait setTag: yöntemini kullanarak atayabilirsiniz.

Daha fazla detay için Application Menus and Pop-Up Lists ve User Interface Validation kılavuzları okuyun. Ama temel fikir, kakaonun orada koyduğunuz şeyi umursamadığı.

Amacın amacının, kodunuzun bir kısmını gevşek bir şekilde birleştirmenize izin verdiğine inanıyorum; kullanıcı eylemlerini doğrulayan kod, arayüzünüzün nasıl tasarlandığını bilmek zorunda kalmaz ve arabiriminiz hakkında hiçbir şey bilmek zorunda değildir. validator; Sadece bir sayı üzerinde anlaşmak zorundalar. Bununla birlikte, modern Kakao'da, sadece harekete bakmak daha kolay ve hatta daha gevşek, bu yüzden etiket istediğiniz herhangi bir şey için serbest bırakıldı.