增加/减少Objective-C iOS中的数字

时间:2012-08-31 06:44:38

标签: objective-c ios cocoa-touch uikit

我是xcode和iOS编程新手。 我遵循了这个教程: http://www.thetutorialblog.com/cocoa-objective-c/creating-a-basic-ipad-application/

我使用了一个“ - 按钮”,一个标签和一个“+按钮”。 但我想要多个,我已经添加了教程代码并将其复制如下:

IBOutlet UILabel *currentNumber2;

-(IBAction)incrementNumber2:(id)sender2;
-(IBAction)decrementNumber2:(id)sender2;


-(IBAction)incrementNumber2:(id)sender2 {
    number++;
    [currentNumber2 setText:[NSString stringWithFormat:@"%d", number]];
}


-(IBAction)decrementNumber2:(id)sender2 {
    number--;
    [currentNumber2 setText:[NSString stringWithFormat:@"%d", number]];
}

但是当我按下第一个+按钮时,它会在第一个标签上计数+1,然后当我按下第二个+按钮时,它会继续从label2中的第一个按钮计数,所以它放入2.理解?

1 个答案:

答案 0 :(得分:0)

这是面向对象编程的典型行为:number的单个实例在该对象的每个方法调用之间共享。如果要支持多个number实例,则有两种选择:向类中添加更多实例变量,并在创建更多实例时开始添加越来越多的代码,或者只是生成类的新实例。

请注意,您将很快做出有价值的实现:有时建模域与我们的应用程序域具有不同的对象要求(即您应该说“但我不应该我必须制作更多UIViewController !!的实例,而你是对的。这是iOS 深度支持的架构的第一步:模型 - 视图 - 控制器。您的模型,在这种情况下number,应该与控制器分离,控制器应该能够处理任何数量的控制器(不仅仅是您为创建ivars所用的数量)。

这是一条很好的道路: - )