2012-07-12 5 views
0

cloudapp 또는 droplr과 같은 업로드 된 이미지에 대해 "최근 목록"을 구현해야합니다. 그래서 이미지를 업로드 할 때마다 제목 (또는 URL)과 함께 nsmenuitem을 만들어야합니다. 업로드 된 이미지는 항상 마지막 5 개 여야합니다. 그래서 나는 내가 마지막 5 개의 이미지 (이미지의 제목)를 저장할 수있는 plist가 필요하다고 생각하고 메뉴가 열리면 최근 5를로드해야합니다. 그러나 어떻게해야할지 모르겠으므로 도움이 필요합니다. 그것. 새 이미지가 업로드 될 때마다 plist를 편집해야합니다. 그러면 plist의 첫 번째 위치에 표시되며 이전 항목은 모두 인덱스 + 1을 가져야합니다.NSMenu - 최근 목록

나를 이해하시기 바랍니다. 이것을 달성하는 방법에 대해 알고 있습니까? 감사합니다.

답변

0

내가 실제로하고 싶은 것이 확실하지 않지만 이전에 비슷한 기능을 구현했습니다. 제 경우에는 파일 용 이었지만 귀하의 경우에도 잘 작동해야합니다 (또는 적어도 한 가지 방법 만 제시하면됩니다)

void populateRecentList(const char** files) 
{ 
    NSMenu* fileMenu = [[[NSApp mainMenu] itemWithTitle:@"File"] submenu]; 
    NSMenu* recentItems = [[fileMenu itemWithTitle:@"Recent Files"] submenu]; 

    [recentItems removeAllItems]; 

    for (int i = 0; i < 4; ++i) 
    { 
     const char* filename = files[i]; 
     NSString* name = [NSString stringWithUTF8String: filename]; 

     NSMenuItem* newItem = [[NSMenuItem alloc] initWithTitle:name action:@selector(onRecentFile:) keyEquivalent:@""]; 
     [newItem setTag:i]; 
     [newItem setRepresentedObject:[NSString stringWithFormat:@"%d",i]]; 
     [newItem setKeyEquivalentModifierMask: NSCommandKeyMask]; 
     [newItem setKeyEquivalent:[NSString stringWithFormat:@"%d",i + 1]]; 

     [recentItems addItem:newItem]; 

     [newItem release]; 
    } 
}