Неизвестные ошибки в Xcode - PullRequest
       5

Неизвестные ошибки в Xcode

1 голос
/ 06 апреля 2011

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

//  main.m


#import <Foundation/Foundation.h>
#import "LotteryEntry.h"

int main (int argc, const char * argv[])
{

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

   // Creates the date object

    NSCalendarDate *now = [[NSCalendarDate alloc]init];

    //Seed the random number generator

    srandom(time(NULL));
    NSMutableArray * array;
    array = [[NSMutableArray alloc]init];

    int i;
    for (i = 0; i < 10; i++) {

        //create a date/time object that is 'i' weeks from now

        NSCalendarDate *iWeeksFromNow;
        iWeeksFromNow = [now dateByAddingYears:0
                                         months:0
                                           days:(i * 7)
                                          hours:0
                                        minutes:0
                                         second:0];
    }

     //create the LotteryEntry object

     LotteryEntry *newEntry = [[LotteryEntry alloc]init];
     [newEntry prepareRandomNumbers];
     [newEntry setEntryDate: iWeeksFromNow]; 

//Error says "Use of undeclared identifier "iWeeksFromNow'. Did I not declare it above?

     //add the lottery entry object to the array

     [array addObject:newEntry];

     }

     for (LotteryEntry *entryToPrint in array) { 

//Error says " Expected identifier or '('


         //Display it's contents

         NSLog(@"%@", entryToPrint);

     }





[pool drain];
return 0;       
//Error says " Expected identifier or '('
}                  
//Error says " Expected External declaration

Ответы [ 5 ]

2 голосов
/ 06 апреля 2011

Вы объявляете iWeeksFromNow внутри цикла for, поэтому компилятор не считает его существующим снаружи, объявляет его снаружи и присваивает ему значения внутри

1 голос
/ 06 апреля 2011

Первая ошибка: вы объявляете iWeeksFromNew внутри цикла for, поэтому он недоступен извне.Вы должны объявить перед началом цикла.

Вторая ошибка: у вас есть скобка '}' после [array addObject:newEntry];, поэтому компилятор считает, что это конец вашего метода, удалите его.

Это должно исправить все другие ошибки, которые у вас есть

1 голос
/ 06 апреля 2011

У вас есть дополнительное закрытие } при вызове метода -dateByAddingYears.

0 голосов
/ 06 апреля 2011

Переместите объявление из этого блока цикла.У вас проблема с областью действия: iWeeksFromNew существует только в цикле

NSCalendarDate *iWeeksFromNow;
int i;
for (i = 0; i < 10; i++) {

    //create a date/time object that is 'i' weeks from now
    iWeeksFromNow = [now dateByAddingYears:0
                                     months:0
                                       days:(i * 7)
                                      hours:0
                                    minutes:0
                                     second:0];
}
0 голосов
/ 06 апреля 2011

Во-первых, iWeeksFromNow объявляется в области действия цикла for, поэтому оно будет видно только внутри этого цикла. Во-вторых, как указывает Черная лягушка , у вас есть дополнительные закрывающие скобки.

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