NSButton标签ID返回不正确的值,超过7

问题描述 投票:1回答:2

我有25个NSButton的网格。我正在尝试从1-25开始在每个标签上设置一个标签,并将它们链接到一个包含以下内容的IBAction:

- (IBAction)buttonClicked:(id)sender {
    NSLog(@"Clicked button %lo.", [sender tag]);
}

但是,我遇到了一个问题。它可以从按钮1-7正常工作,但是第8个按钮返回10,第9个按钮返回11,第10个按钮返回12。我实验性地将按钮的标签设置为88,然后返回130。这是一个错误,还是我要去关于这个错误的方式?

macos cocoa osx-yosemite appkit
2个回答
1
投票

您应该使用unsigned int%u


1
投票

您的按钮值正确,您只是错误地以八进制格式(%lo中的'o')而不是十进制打印它们。这就是为什么您的8打印为10的原因-八进制表示为8。 130是八进制,而88是十进制:

© www.soinside.com 2019 - 2024. All rights reserved.