I'm a beginner in everything programming and have been trying to implement some self learned stuff from the Big Nerd Ranch Books. But I'm really stumped by this problem, and yes, I have searched this and other forums for possible solutions with no success. Here is the code:
ANKYViewController.h:
#import <UIKit/UIKit.h>
@interface ANKYViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITextField *weightFieldDeadlift;
@property (weak, nonatomic) IBOutlet UITextField *repFieldDeadlift;
@property (strong, nonatomic) IBOutlet UILabel *workingOneRMDeadlift;
@property (weak, nonatomic) IBOutlet UITextField *weightFieldBenchPress;
@property (weak, nonatomic) IBOutlet UITextField *repFieldBenchPress;
@property (strong, nonatomic) IBOutlet UILabel *workingOneRMBenchPress;
@property (weak, nonatomic) IBOutlet UITextField *weightFieldSquat;
@property (weak, nonatomic) IBOutlet UITextField *repFieldSquat;
@property (strong, nonatomic) IBOutlet UILabel *workingOneRMSquat;
@property (weak, nonatomic) IBOutlet UITextField *weightFieldMilitaryPress;
@property (weak, nonatomic) IBOutlet UITextField *repFieldMilitaryPress;
@property (strong, nonatomic) IBOutlet UILabel *workingOneRMMilitaryPress;
- (IBAction)calculateOneRM:(id)sender;
@end
ANKYViewController.m:
#import "ANKYViewController.h"
@interface ANKYViewController ()
@end
@implementation ANKYViewController
@synthesize weightFieldDeadlift;
@synthesize repFieldBenchPress;
@synthesize workingOneRMBenchPress;
@synthesize weightFieldSquat;
@synthesize repFieldSquat;
@synthesize workingOneRMSquat;
@synthesize weightFieldMilitaryPress;
@synthesize repFieldMilitaryPress;
@synthesize workingOneRMMilitaryPress;
@synthesize repFieldDeadlift;
@synthesize workingOneRMDeadlift;
@synthesize weightFieldBenchPress;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewDidUnload
{
[self setWeightFieldDeadlift:nil];
[self setRepFieldDeadlift:nil];
[self setWorkingOneRMDeadlift:nil];
[self setWeightFieldDeadlift:nil];
[self setRepFieldBenchPress:nil];
[self setWeightFieldBenchPress:nil];
[self setWorkingOneRMBenchPress:nil];
[self setWeightFieldSquat:nil];
[self setRepFieldSquat:nil];
[self setWorkingOneRMSquat:nil];
[self setWeightFieldMilitaryPress:nil];
[self setRepFieldMilitaryPress:nil];
[self setWorkingOneRMMilitaryPress:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (IBAction)calculateOneRM:(id)sender {
float dw = [[weightFieldDeadlift text]floatValue];
float dr = [[repFieldDeadlift text]floatValue];
float d = (dw * dr * 0.0333) + dw;
NSLog(@"Deadlift: %f", d);
NSString *deadlift = [[NSString alloc]initWithFormat:@"%f", d];
[workingOneRMDeadlift setText:deadlift];
float bpw = [[weightFieldBenchPress text]floatValue];
float bpr = [[repFieldBenchPress text]floatValue];
float bp = (bpw * bpr * 0.0333) + bpw;
NSLog(@"Bench Press: %f", bp);
NSString *benchPress = [[NSString alloc]initWithFormat:@"%f", bp];
[workingOneRMBenchPress setText:benchPress];
float sw = [[weightFieldSquat text]floatValue];
float sr = [[repFieldSquat text]floatValue];
float s = (sw * sr * 0.0333) + sw;
NSLog(@"Squat: %f", s);
NSString *squat = [[NSString alloc]initWithFormat:@"%f", s];
[workingOneRMSquat setText:squat];
float mpw = [[weightFieldMilitaryPress text]floatValue];
float mpr = [[repFieldMilitaryPress text]floatValue];
float mp = (mpw * mpr * 0.0333) + mpw;
NSLog(@"Military Press: %f", mp);
NSString *militaryPress = [[NSString alloc]initWithFormat:@"%f", mp];
[workingOneRMMilitaryPress setText:militaryPress];
}
@end
File's owner class is already stated as ANKYViewController. Linking the outlets etc was by control dragging instead of manually coding (I gave up after spending too many hours).
The error:
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIApplication 0x6c22e70> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key repsField.'
There's no copy and pasting of code, and it's certainly distressing that there is no mentioning of "repsField"(instead of repFieldxxx) anywhere.
I hope that this is enough information to help lead to a solution, as I've spent days looking through other people's solutions with no success.
Thanks.