我有一个25个NSButtons的网格。我尝试在1-25之间设置每个标签,并将它们链接到一个IBAction,包含:
- (IBAction)buttonClicked:(id)sender {
NSLog(@"Clicked button %lo.", [sender tag]);
}
但是,我遇到了问题。按钮1-7工作正常,但第8个返回10,第9个返回11,第10个返回12.我通过实验将按钮的标签设置为88,然后返回130.这是一个错误,或者我是以错误的方式解决这个问题?
答案 0 :(得分:3)
您的按钮值正确,您只是用八进制格式(%lo中的“ o”)而不是十进制打印错误的值。这就是为什么您的8打印为10的原因-八进制表示为8。 130是八进制,而88是十进制:
答案 1 :(得分:1)
您应该使用unsigned int
(%u )格式,而不是long
(%lo ):
NSLog(@"Clicked button %u.", [sender tag]);
%o
。对整数进行处理就是增加数字。