我正在尝试打印“。”当我按下显示“。”的按钮时。
基本上我想抓住“。”在NSString格式
所以如果我这样做
NSString * dec = [sender currentTitle];
当我试图跑步时它就崩溃了。
答案 0 :(得分:1)
在Cocoa中,所有控件都通过使用目标操作机制发送已经操作的通知。 'target'是任何其他对象,'action'是该对象响应的任何选择器。按钮也不例外。
因此,您可以定义:
-(void)buttonClicked:(id)sender {
NSLog(@"Button was clicked!");
}
通过相应地调用-setTarget:
和-setAction:
,您可以将其连接到按钮的目标操作。如果您是在处理操作的类中执行此操作,则目标将为self
:
[button setTarget:self];
[button setAction:@selector(buttonClicked:)]
现在按下按钮时,您将在控制台中获得NSLog()输出。
要更新标签的值而不是使用NSLog()打印某些内容,您可以解决这个问题,但是:
-(void)buttonClicked:(id)sender {
[label setText:@"."];
}
您应该阅读Apple的文档,其中详细介绍了这些内容。
PS:stackoverflow适用于所有编程语言,因此请务必使用相关的编程语言标记您的问题。
答案 1 :(得分:0)
试试这个。
UIButton *resultButton = (UIButton *)sender;
NSString *dec = resultButton.currentTitle;
答案 2 :(得分:0)
尝试类似这样的事情
NSString *strdec = [sender titleLabel].text;