保持したい 3 つの静的 NSMenuItems を持つ NSMenu があり、その後の束は動的に生成され、ユーザーがメニュー アイコンをクリックするたびに削除して再読み込みする必要があります。
ポップアウトするプロセスのリストを作成しようとしていますが、ポップアウトを開くたびに NSMenuItems がクリアされません。ファンキーな方法で追加するだけです。for ループをログに記録すると、ループが完了していないことがわかります。理由はありますか?
-(void)menuNeedsUpdate:(NSMenu *)menu{
//Keep Top 3 Menu Items
if(dropDown.numberOfItems > 3){
NSLog(@"-----------Removing Items");
NSLog(@"%d",itemCount);
for(int i = 2; i <= dropDown.numberOfItems; i++){
NSLog(@"%d",i);
[dropDown removeItemAtIndex:i];
}
}
NSArray *appArray = [[NSWorkspace sharedWorkspace] runningApplications];
for (NSRunningApplication *r in appArray){
//NSLog(r.localizedName);
//NSLog(@"------------");
NSMenuItem *i = [[NSMenuItem alloc] initWithTitle:r.localizedName
action:@selector(fooClicked:) keyEquivalent:@""];
[i setTarget:self];
[dropDown addItem:i];
[i release];
}
}