[Anfänger]Hilfe bei Programmierung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [Anfänger]Hilfe bei Programmierung

    Liebe Mitglieder des osxentwicklerforums,

    ich könnte etwas Hilfe bei meiner App gebrauchen und frage deswegen um Hilfe.
    Ich bin ein objektive c Anfänger kann nur Html,PHP was mir aber leider bei meinem Problem nicht weiterhilft.
    Also ich fange jetzt mal an mein Problem zu schildern.
    Ich habe mir zum Einstieg das Buch:"Cocoa von Aaron Hillegass" gekauft(was ich empfehlen kann) und versuche die Basics zu verstehen.
    Nun sitze ich aber fest und komme nicht weiter.
    Mein Quellcode ist:

    main.m

    Quellcode

    1. #import <Foundation/Foundation.h>
    2. #import "LotteryEntry.h"
    3. #import "lottery.h"
    4. int main (int argc, const char * argv[])
    5. {
    6. @autoreleasepool {
    7. NSMutableArray *array;
    8. array = [[NSMutableArray alloc] init];
    9. int i;
    10. for(i = 0; i < 10; i++){
    11. NSNumber * newNumber = [[NSNumber alloc] initWithInt:(i * 3)];
    12. [array addObject:newNumber];
    13. }
    14. for(i = 0; i < 10; i++){
    15. NSNumber *numberToPrint = [array objectAtIndex:i];
    16. NSLog(@"Die Zahl bei Index %d lautet %@", i,numberToPrint);
    17. }
    18. }
    19. return 0;
    20. }
    Alles anzeigen


    LotteryEntry.h

    Quellcode

    1. #import <Foundation/Foundation.h>
    2. @interface LotteryEntry : NSObject{
    3. NSCalendar *entryDate;
    4. int firstNumber;
    5. int secondNumber;
    6. }
    7. -(void)prepareRandomNumbers;
    8. -(void)setEntryDate:(NSCalendar *)date;
    9. -(NSCalendar *)entryDate;
    10. -(int)firstNumber;
    11. -(int)secondNumber;
    12. @end
    Alles anzeigen


    LotteryEntry.m

    Quellcode

    1. #import "LotteryEntry.h"
    2. #import "lottery.m"
    3. #import "lottery.h"
    4. @implementation LotteryEntry
    5. - (void)prepareRandomNumbers
    6. {
    7. firstNumber = random() 0 + 1;
    8. secondNumber = random() 0 + 1;
    9. }
    10. - (void)setEntryDate:(NSCalendar *)date
    11. {
    12. entryDate = date;
    13. }
    14. - (NSCalendar *)entryDate
    15. {
    16. return entryDate;
    17. }
    18. - (int)firstNumber
    19. {
    20. return firstNumber;
    21. }
    22. - (int)secondNumber
    23. {
    24. return secondNumber;
    25. }
    26. @end
    Alles anzeigen


    lottery.h

    Quellcode

    1. #import <Foundation/Foundation.h>
    2. @interface lottery : NSObject
    3. @end


    lottery.m

    Quellcode

    1. #import <Foundation/Foundation.h>
    2. #import "lottery.h"
    3. #import "LotteryEntry.h"
    4. @implementation lottery
    5. int main(int argc, char *argv[])
    6. {
    7. @autoreleasepool {
    8. //Datumobjekt erstellen
    9. NSCalendarDate *now = [[NSCalendarDate alloc] init];
    10. //Denn Seed-wert des Zufallsgenerators setzen
    11. srandom(time(NULL));
    12. NSMutableArray *array;
    13. array =[[NSMutableArray alloc] init];
    14. int i;
    15. for(i = 0; i < 10; i++){
    16. //Ein Date/Time-Objekt 'i' Wochen in der Zukunft erstellen
    17. NSCalendarDate *iWeeksFromNow;
    18. iWeeksFromNow = [now dateByAddingYears:0
    19. months:0
    20. days:(i * 7)
    21. hours:0
    22. minutes:0
    23. seconds:0];
    24. //Eine neue Instanz von LotteryEntry erstellen
    25. LotteryEntry *newEntry = [[LotteryEntry alloc] init];
    26. [newEntry prepareRandomNumbers];
    27. [newEntry setEntryDate:iWeeksFromNow];
    28. // Das LotteryEntry-Objekt zu dem Array hinzufügen
    29. [array addObject:newEntry];
    30. for(LotteryEntry *entryToPrint in array){
    31. //Seinen Inhalt anzeigen
    32. NSLog(@"%@", entryToPrint);
    33. }
    34. }
    35. }
    36. }
    37. @end
    Alles anzeigen

    Ich bekomme die Fehlermeldung:Command /Developer/usr/bin/clang failed with exit code 1 und finde einfach keine Lösung.
    Ich hoffe einer von euch kann mir bei meinem Problem behilflich sein.
    Mit freundlichen grüßen Homer
  • So wie ich das sehe hast du 2 main funktionen, was falsch ist.
    Auserdem liegt deine eine Main funktion zwischen @implementation lottery und @end was auch nicht korrekt ist.
    Eine der beiden funktionen musst du entfernen oder umbennen oder so
  • Johannes Wolf schrieb:

    So wie ich das sehe hast du 2 main funktionen, was falsch ist.
    Auserdem liegt deine eine Main funktion zwischen @implementation lottery und @end was auch nicht korrekt ist.
    Eine der beiden funktionen musst du entfernen oder umbennen oder so
    Danke!!! :thumbsup: Ok Fehler entdeckt habe ich in der lottery.m auch eine main Funktion wie du gesagt hast aber ohne main klappt das nicht:

    Quellcode

    1. @autoreleasepool {


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von homer ()

  • Michael schrieb:

    Du brauchst vorerst nur in der main Funktion einen @autoreleasepool. Lass den in der @implementation weg. Im übrigen würde ich Dir raten, noch mal in Deinem Buch genau nach zu lesen, wie das alles so funktioniert. Ich kann mir kaum vorstellen, dass das da so drin steht.

    Michael
    Das Problem ist das das Buch mit xcode 3 geschrieben wurde und das jetzt wegen arc zb release pool nicht klappt.
    Ich tippe den code noch mal ab trotzdem danke noch euch beiden habt mir sehr geholfen. :thumbsup: