Приложение обратного отсчета выдало ожидаемую ошибку "]" - PullRequest
0 голосов
/ 15 декабря 2011

Я создаю свое первое приложение для iPhone и iPad, это простое приложение, которое ведет обратный отсчет до указанного месяца, дня, часа, минуты и секунды.

После исправления нескольких ошибок этонаткнулся на следующую ошибку:

Ожидается "]"

Вот код:

#import "ViewController.h"
@implementation ViewController
-(void)updateLabel {
    NSCalendar *calender = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    int units = NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
    NSDateComponents *components = [calender components:units fromDate:[NSDate date] toDate:destinationDate options:0 ];
    [dateLabel setText:[[NSString stringWithFormat:@"%d%c  %d%c  %d%c  %d%c  %d%c" , [components month], 'm' [components day], 'd' , [components hour], 'h' , [components minute], 'm' , [components second], 's' ]]; 
}

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

#pragma mark - View lifecycle

- (void)viewDidLoad
{
    [super viewDidLoad];
    destinationDate = [[NSDate dateWithTimeIntervalSince1970:1325153549] retain];
    timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector (updateLabel) userInfo:nil repeats:YES];
}

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

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
    } else {
        return YES;
    }
}
@end

Ответы [ 4 ]

2 голосов
/ 15 декабря 2011
    [dateLabel setText:[[NSString stringWithFormat:@"%d%c  %d%c  %d%c  %d%c  %d%c" , [components month], 'm' [components day], 'd' , [components hour], 'h' , [components minute], 'm' , [components second], 's' ]]; 

Несбалансированные скобки?

1 голос
/ 15 декабря 2011

Полагаю, это он?

[dateLabel setText:[[NSString stringWithFormat:@"%d%c  %d%c  %d%c  %d%c  %d%c" , [components month], 'm' [components day], 'd' , [components hour], 'h' , [components minute], 'm' , [components second], 's' ]]; 

Вы открываете три [в первой части до NSString, но закрываете только два из них в конце.Похоже, вы когда-то [слишком много в начале и действительно хотите

[dateLabel setText:[NSString stringWithFormat:@"%d%c  %d%c  %d%c  %d%c  %d%c" , [components month], 'm' [components day], 'd' , [components hour], 'h' , [components minute], 'm' , [components second], 's' ]]; 
0 голосов
/ 15 декабря 2011

Где именно ошибка? Я думаю, что это может быть здесь:

[dateLabel setText:[[NSString stringWithFormat:@"%d%c  %d%c  %d%c  %d%c  %d%c" , [components month], 'm' [components day], 'd' , [components hour], 'h' , [components minute], 'm' , [components second], 's' ]]; 

похоже, что вы забыли запятую здесь

'm' [components day]

Надеюсь, это поможет

Edit:

А до NSString слишком много на 1 "[" слишком много

0 голосов
/ 15 декабря 2011

Эта строка содержит синтаксические ошибки:

[dateLabel setText:[NSString stringWithFormat:@"%d%@  %d%@  %d%@  %d%@  %d%@" , [components month], @"m", [components day], @"d" , [components hour], @"h" , [components minute], @"m" , [components second], @"s"]]; 

Вы пропустили запятую и имели слишком много открывающих скобок перед NSString.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...