I'm trying to display a bill total result that combine the tip amount and the bill amount. Below is a copy of the line of code where I am receiving the error. Any help is much appreciated.
[totalBillCost setText:[NSString stringWithFormat:@"$ %.2f", ([costWithTipLabel] + costWithoutTip]);
Below is a copy of the entire code:
#import "tipcalcViewController.h"
@implementation tipcalcViewController
- (void)dealloc
{
[super dealloc];
}
- (IBAction)aSliderChanged:(id)sender {
UISlider *slider = (UISlider *)sender;
if (slider == tipslide) {
NSString *tip = [NSString stringWithFormat:@"%.2f", slider.value * 100];
int tipPercentage = [tip intValue];
NSString *multiplier;
if (tipPercentage < 10) {
multiplier = [NSString stringWithFormat:@"1.0%i", tipPercentage];
}
else if (tipPercentage >= 10) {
multiplier = [NSString stringWithFormat:@"1.%i", tipPercentage];
}
NSString *tt = [[costWithoutTip text] stringByReplacingOccurrencesOfString:@"$ " withString:@""];
[costWithTipLabel setText:[NSString stringWithFormat:@"$ %.2f", ([tt intValue] / tipPercentage)]];
[tipTextLabel setText:[[NSString stringWithFormat:@"Tip(%i", tipPercentage] stringByAppendingString:@"%):"]];
[self performSelector:@selector(updateNumOfPeop)];
}
else if (slider == peopleslide) {
NSString *p = [NSString stringWithFormat:@"%.f", slider.value*10];
int numberOfPeople = [p intValue];
[numberOfPeopleTextLabel setText:[NSString stringWithFormat:@"Each(%i):", numberOfPeople]];
NSString *tt = [[costWithoutTip text] stringByReplacingOccurrencesOfString:@"$ " withString:@""];
[numberOfPeopleLabel setText:[NSString stringWithFormat:@"$ %.2f", [tt floatValue]/numberOfPeople]];
}
[totalBillCost setText:[NSString stringWithFormat:@"$ %.2f", ([costWithTipLabel] + costWithoutTip]);
}
- (void)updateNumOfPeop {
NSString *p = [NSString stringWithFormat:@"%.f", peopleslide.value*10];
int numberOfPeople = [p intValue];
[numberOfPeopleTextLabel setText:[NSString stringWithFormat:@"Each(%i):", numberOfPeople]];
[numberOfPeopleLabel setText:[NSString stringWithFormat:@"%.2f", [[costWithTipLabel text] floatValue]/numberOfPeople]];
}
开发者_StackOverflow - (void)viewDidLoad {
[costWithoutTip becomeFirstResponder];
[costWithoutTip setDelegate:self];
[costWithoutTip setKeyboardType:UIKeyboardTypeNumbersAndPunctuation];
[tipslide setValue:0.01];
[peopleslide setValue:0.1];
[super viewDidLoad];
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
[costWithoutTip setText:[NSString stringWithFormat:@"$ %.2f", [costWithoutTip text].floatValue]];
[costWithoutTip resignFirstResponder];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[costWithoutTip resignFirstResponder];
return YES;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
[costWithoutTip resignFirstResponder];
return YES;
}
- (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.
}
#pragma mark - View lifecycle
/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
[super viewDidLoad];
}
*/
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
@end
It seems as if you messed up the brackets in:
[totalBillCost setText:[NSString stringWithFormat:@"$ %.2f", ([costWithTipLabel] + costWithoutTip]);
This should be:
[totalBillCost setText:[NSString stringWithFormat:@"$ %.2f", ([costWithTipLabel] + costWithoutTip)]];
精彩评论