Klassenvariablen/Instanzvariablen

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

  • Ich dachte eigentlich das ich es im zweiten geändert hätte, bin jetzt wirklich etwas verwirrt :/ dennoch danke für die Hilfe Lucas

    Quellcode

    1. - (id)initWithISpawn:(bool)b andISpawnTime: (double) i andRSpawnTime: (double)r
    2. {
    3. self = [super init];
    4. [self setHasISpawn:b];
    5. [self setISpawnTime:i];
    6. [self setRSpawnTime:r];
    7. return self;
    8. }


    das wäre dann die neue Init, es bleibt jedoch bei der Null Rückgabe.
  • Coltan
    Wo testest du die Rückgabe?

    Ich sehe nur, dass du zwar die -prepareTimeString ausführst, du machst aber absolut nichts mit dem Rückgabewert.
    Auch ist dein Code ziemlich widersprüchlich:

    C-Quellcode

    1. // SpawnTime sollte ein String sein, zumindest gemäß Header.
    2. SpawnTime = [NSString stringWithFormat:@"%d:%d",gtm, gts];
    3. // Die Ausgabe sollte erfolgreich sein.
    4. NSLog(@"rtclass %@", SpawnTime);
    5. // Hier setzt du den String auf irgendwas. SpawnTimeString hab ich nirgends gefunden, dürfte also einfach mal nil sein.
    6. SpawnTime =SpawnTimeString;
    7. // Hier gibst du das neu gesetzte zurück, mutmaßlich nil.
    8. return SpawnTime;


    Also bis zur Logausgabe muss es klappen. Alles danach ist BlackBox.

    Amin
    Doch wie macht man das in Zeiten von ARC dann?
    Pre-ARC ginge ja Folgendes:

    C-Quellcode

    1. -(void)initWithParameter:(id)parameter
    2. {
    3. self = [super init];
    4. if(self)
    5. {
    6. ivar = [parameter retain];
    7. }
    8. }
    9. - (void)dealloc
    10. {
    11. [ivar release];
    12. [super dealloc];
    13. }
    Alles anzeigen


    Mit ARC wäre ja nur Folgendes möglich:

    C-Quellcode

    1. -(void)initWithParameter:(id)parameter
    2. {
    3. self = [super init];
    4. if(self)
    5. {
    6. [self initialSetParameter:parameter];
    7. }
    8. }
    9. - (void)initialSetParameter:(id)param
    10. {
    11. [self setParameter:param];
    12. }
    Alles anzeigen


    Das ergibt doch mal gar keinen erkennbaren Sinn...
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Lucas de Vil schrieb:

    Doch wie macht man das in Zeiten von ARC dann?
    Pre-ARC ginge ja Folgendes:

    C-Quellcode

    1. -(void)initWithParameter:(id)parameter
    2. {
    3. self = [super init];
    4. if(self)
    5. {
    6. ivar = [parameter retain];
    7. }
    8. }
    9. - (void)dealloc
    10. {
    11. [ivar release];
    12. [super dealloc];
    13. }
    Alles anzeigen


    Mit ARC wäre ja nur Folgendes möglich:

    Nein, mit ARC schreibt man:

    Quellcode

    1. -(void)initWithParameter:(id)parameter
    2. {
    3. self = [super init];
    4. if(self)
    5. {
    6. ivar = parameter;
    7. }
    8. }

    Michael
  • Michael schrieb:

    Lucas de Vil schrieb:

    Doch wie macht man das in Zeiten von ARC dann?
    Pre-ARC ginge ja Folgendes:

    C-Quellcode

    1. -(void)initWithParameter:(id)parameter
    2. {
    3. self = [super init];
    4. if(self)
    5. {
    6. ivar = [parameter retain];
    7. }
    8. }
    9. - (void)dealloc
    10. {
    11. [ivar release];
    12. [super dealloc];
    13. }
    Alles anzeigen


    Mit ARC wäre ja nur Folgendes möglich:

    Nein, mit ARC schreibt man:

    Quellcode

    1. -(void)initWithParameter:(id)parameter
    2. {
    3. self = [super init];
    4. if(self)
    5. {
    6. ivar = parameter;
    7. }
    8. }

    Michael

    oder
    ivar = [parameter copy];
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?