0

cloudappやdroplrのように、アップロードされた画像の「最近のリスト」を実装する必要があります。したがって、画像をアップロードするたびに、タイトル(またはURL)を使用してnsmenuitemを作成する必要があります。アップロードされた画像は常に最後に5つあるはずです。したがって、最後の5つの画像(画像のタイトル)を保存できるplistが必要だと思います。メニューを開くと、最近の5つの画像が読み込まれるはずです。しかし、方法がわからないため、サポートが必要です。 。新しい画像がアップロードされるたびにplistを編集して、plistの最初の場所に配置し、すべての古いエントリがインデックス+1を取得する必要があります。

ご理解いただければ幸いです。これを達成する方法を知っていますか?ありがとう

4

1 に答える 1

0

これがあなたが実際にやりたいことかどうかはわかりませんが、私は少し前に同様の機能を実装しました。私の場合、それはファイル用でしたが、あなたの場合でも機能するはずです(または、少なくともそれを行う方法を1つ示します)

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];
    }
}
于 2013-01-03T09:03:50.970 に答える