PDA

View Full Version : [Resolved] increment with button...




beautifulblood
Apr 18, 2011, 12:16 AM
So I started this program thinking it was going to be really easy. Basically my idea was to make an app that just kept track of a baseball team's score, nothing fancy just trying to start understanding objective-c/iphone development , there is one button you click on it and the number in the text field increments by one.

PitchCounter.h
#import <UIKit/UIKit.h>

@interface PitchCounterViewController : UIViewController
{
IBOutlet UITextField *homeScore;
}

@property (nonatomic, retain) IBOutlet UITextField *homeScore;

- (IBAction) homeScoreButton;

@end



PitchCounter.m

#import "PitchCounterViewController.h"

@implementation PitchCounterViewController

@synthesize homeScore;

- (IBAction) homeScoreButton
{
int i = 0;
NSString *homeScoreCounter = [[NSString alloc] initWithFormat:@"%i", i];
homeScore.text = homeScoreCounter;
i++;
NSLog(@"%@", homeScoreCounter);
}


/*
// The designated initializer. Override to perform setup that is required before the view is loaded.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
*/

/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/


/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
*/


/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/

- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];

// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}


- (void)dealloc {
[super dealloc];
}

@end


I thought you could set a variable and then increase it by one but apparently not. Any help would be appreciated thanks.



dejo
Apr 18, 2011, 12:48 AM
I thought you could set a variable and then increase it by one but apparently not.
You can. It's just that every time you call homeScoreButton, you're setting your i back to 0. Maybe try making i an instance variable.

beautifulblood
Apr 18, 2011, 01:40 AM
WOW, worked perfectly don't know why that didn't even cross my mind.

One more question, when you are using IBAction on a button you are basically saying every time I hit this button I want to run this piece of code correct?

Thanx again for the help.

dejo
Apr 18, 2011, 09:26 AM
One more question, when you are using IBAction on a button you are basically saying every time I hit this button I want to run this piece of code correct?
In a ways, yes. You're saying, assuming you have the button configured in a standard way, that every time your button receives the Touch Up Inside event, call the method you have connected for that. Realize, though, that there are a number of other events to which you can respond and trigger code.

beautifulblood
Apr 18, 2011, 12:06 PM
Gotcha, thanks