Je suis en train de créer une application macOS avec Finder Sync Extension, qui ajoute un élément de la barre d'outils au Finder.Comportement bizarre du menu des éléments de la barre d'outils du Finder Sync Extension
J'ai créé la barre d'outils menu élément comme celui-ci:
- (NSMenu *)menuForMenuKind:(FIMenuKind)whichMenu {
NSMenu *menu = [NSMenu new];
NSURL *URL = ...// Create a NSURL dynamically
NSMenuItem *item = [NSMenuItem new];
[item setTitle:@"foo"];
[item setRepresentedObject:URL];
[item setTarget: self];
[item setAction:@selector(itemClicked:)];
[menu addItem:item];
return menu;
}
- (void)itemClicked:(NSMenuItem *)item {
NSLog(@"%@", item.representedObject);
}
L'article a fait apparaître avec le titre « foo », mais quand je clique dessus (null)
a été imprimé.
J'ai également essayé de créer une sous-classe de NSMenuItem
avec @property (NSURL*) URL
et de définir la propriété URL lorsque je crée l'élément, mais après le clic, la propriété URL redevient nulle.
Alors qu'est-ce qui a mal tourné ici?
Thx! Je finis par enregistrer les URL sous la forme d'un tableau dans NSUserDefaults et définir la balise de chaque élément comme l'index de son URL dans le tableau. –