[ios]从 UIbutton 读数字

发布时间: 2017/3/21 22:47:53
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

新objective-c 和 Xcode !我要收到大量来自某些按钮,但我的一切是只有一个数字。我为此使用按钮标记。

例如︰ 如果我想要添加两个数字 2 + 3,它工作得很好。但是当我想要添加 230 + 32,没用。

接口︰

- (IBAction)getnumber:(id)sender;
@property (strong, nonatomic) IBOutlet UILabel *Result;
int number;

执行部分︰

-(IBAction)getnumber:(id)sender {
    number = [sender tag]; 
    Result.text = [NSString stringWithFormat:@"%i", number]; 
}  

有什么办法从按钮的标签,得到大量如果我拍了拍多个按钮吗?

先谢谢你了。

解决方法 1:

你的问题来自于你如何定义你的变量。如果我没有理解你的安装程序权利,你有什么像一个计算器界面,和您只能设置为单个数字数字像 1,2,3,...来指示下一个数字来显示按钮的标签吗?

遇到这种情况你行 number = [sender tag] 将设置一个全局变量为该按钮的数目 (还记得当你的 CS 教授告诉你不要使用全局变量吗?这里有一个理由为什么 !)因为你只是写了 number 与该按钮上的标签时,你去将你结果字符串设置在下一行中, number 只保留值的最后一个按钮按下。相反,你应该做这样的事情。

@interface MyClass : UIViewController
@property (nonatomic, strong) IBOutlet UITextView * resultLabel;
- (IBAction)getNumber:(id)sender;
@end

- (IBAction)getNumber:(id)sender;
{
   self.resultLabel.text = [NSString stringWithFormat:@"%@%d", self.resultLabel.text, [sender tag]];
}

以这种方式,每次 getNumber: 是叫,它需要任何文本标签是当前显示和追加的此按钮的值。作为边注,其传统,不能以小写字母开头objective-c 属性名称。

官方微信
官方QQ群
31647020