显示帐单总结果的问题

时间:2011-04-18 16:38:54

标签: objective-c xcode

我正在尝试显示结合了小费金额和账单金额的账单总结果。下面是我收到错误的代码行的副本。非常感谢任何帮助。

     [totalBillCost setText:[NSString stringWithFormat:@"$ %.2f", ([costWithTipLabel] + costWithoutTip]);

以下是整个代码的副本:

   #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]];
}

                            - (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

1 个答案:

答案 0 :(得分:1)

好像你搞砸了括号:

[totalBillCost setText:[NSString stringWithFormat:@"$ %.2f", ([costWithTipLabel] + costWithoutTip]);

这应该是:

[totalBillCost setText:[NSString stringWithFormat:@"$ %.2f", ([costWithTipLabel] + costWithoutTip)]];