Ho un NSMenuItem con un gruppo di elementi al suo interno, tuttavia ... l'elenco non viene abilitato.NSMenuItem abilita gli articoli
quello che voglio dire:
Questo è il mio codice:
- (void)didFetchNewList:(NSArray *)list
{
NSArray *smallList = [list subarrayWithRange:NSMakeRange(0, 10)];
NSMenu *menu = [[NSMenu alloc] initWithTitle:@""];
for (NSDictionary *dict in smallList)
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMM dd @ HH:mm:ss"];
NSMenuItem *soMenuItem = [[NSMenuItem alloc] initWithTitle:
[dateFormatter stringFromDate:[dict objectForKey:@"date"]]
action:nil
keyEquivalent:@""];
[soMenuItem setEnabled:YES];
[menu addItem:soMenuItem];
}
[menu addItem:[NSMenuItem separatorItem]];
NSMenuItem *soMenuItem = [[NSMenuItem alloc]
initWithTitle:@"Settings" action:nil keyEquivalent:@"S"];
[soMenuItem setEnabled:YES];
[menu addItem:soMenuItem];
[statusItem setMenu:menu];
[statusItem setEnabled:YES];
}
io pongo tutto come consentito, ma è ancora disattivato. Come posso risolvere questo?
Mentre le voci di menu hanno bisogno di un selettore valido, non devono necessariamente avere un obiettivo (in altre parole, il target ** può ** essere 'nil'). Un obiettivo 'nil' significa" utilizzare il primo oggetto nella catena di risposta che risponde al mio selettore ". È funzionalmente equivalente all'impostazione della destinazione della voce di menu sull'oggetto proxy 'First Responder' nel file pennino. (Vedi http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/MenuList/Articles/EnablingMenuItems.html#//apple_ref/doc/uid/20000261-74653-BAJBGJHB) – NSGod
Aha! Stavo già pensando perché diavolo il metodo di inizializzazione non ha un argomento obiettivo. Grazie per averlo chiarito! – v1Axvw
La tua seconda modifica non è ancora completamente corretta: il primo risponditore riceverà il messaggio di azione, ma non è necessario implementarlo. In caso contrario, inoltrerà il messaggio al suo prossimo risponditore. Questa è la catena di risposta al lavoro. –