"Xcode von Null auf Hundert" Problem

S

Schattentanz

unregistriert
Thread Starter
Dabei seit
10.04.2006
Beiträge
2.813
Reaktionspunkte
904
Hallo liebes Forum,

ich arbeite mich zur Zeit mit Xcode 4 durch den Podcast "Xcode von Null auf Hundert" und bin jetzt in der 8 Folge hängen geblieben.

Leider komme ich nicht dahinter was der Fehler ist, habe ich doch den Code quasi abgeschrieben.

Vielleicht kann mir jemand von euch helfen. :)

Mein Programm stürzt ab, sobald ich einen der Buttons drücke...

Code:
- (IBAction)digitPush:(NSButton* )sender {
  
    NSInteger newValue = [sender tag];
    NSString *oldString = [digitDisplay stringValue];
    NSString *newString = [NSString stringWithFormat:@"%@%i", oldString, newValue];
    [digitDisplay setStringValue:newString];

Edit: Unglaublich. Jetzt geht's. Ich hab eigentlich nichts geändert....
 
Zuletzt bearbeitet:
Bei mir stürzt er nicht ab, allerdings verwende ich Xcode 4. In welcher Zeile stürzt er den genau ab?
 
  • Gefällt mir
Reaktionen: Schattentanz
Abgestürzt ist es immer in dieser Zeile:
Code:
 NSString *newString = [NSString stringWithFormat:@"%@%i", oldString, newValue];

Komischerweise geht's jetzt ohne Probleme.
Danke dir trotzdem. :)
 
Jetzt geht's gerade weiter... :confused:
 

Anhänge

  • screen-capture.png
    screen-capture.png
    24 KB · Aufrufe: 126
Du hast nen Breakpoint gesetzt, und er hat angehalten. Kannst ja weiterlaufen lassen im Debugger :)
 
  • Gefällt mir
Reaktionen: Schattentanz
dir ist schon klar, dass so eine zeile wie
NSString *newString = [NSString stringWithFormat:mad:"%@", oldString];
eigentlich total unsinnig ist?
du übergibst da den string so wie der eh ist und veränderst nichts.
und hier in dem fall führt das %@ halt zum crash wegen null pointer oder so...
 
Du hast nen Breakpoint gesetzt, und er hat angehalten. Kannst ja weiterlaufen lassen im Debugger :)

Oh. :shame:

dir ist schon klar, dass so eine zeile wie
NSString *newString = [NSString stringWithFormat:mad:"%@", oldString];
eigentlich total unsinnig ist?
du übergibst da den string so wie der eh ist und veränderst nichts.
und hier in dem fall führt das %@ halt zum crash wegen null pointer oder so...

Deswegen hab ich ein Komma bzw. einen Punkt nach dem @.
So wird doch das %@ durch den oldString ersetzt und das Komma bleibt.
Oder verstehe ich da was falsch?
Code:
 NSString *newString = [NSString stringWithFormat:@"%@[COLOR="red"].[/COLOR]",oldString];
 
Zuletzt bearbeitet:
das komma hab ich dann wohl gerade übersehen.
aber ich denke mal, der wird trotzdem an der stelle wegen dem %@ und leeren String crashen.
 
Wieso hast du das geändert? Im Original war doch NSString *newString = [NSString stringWithFormat:mad:"%@%i", oldString, newValue];
Das passt ja. Die Ziffer wird einfach angehängt.
 
Ich bin schon weiter.
Das 'NSString *newString = [NSString stringWithFormat:mad:"%@%i", oldString, newValue];' war um Zahlen nacheinander eintippen zu können.

'NSString *newString = [NSString stringWithFormat:mad:"%@.",oldString];' benutze ich jetzt um ein Komma Punkt einfügen zu können.
 
Hab ich überlesen. Aber jetzt tut es doch, oder?
 
du könntet auch einfach folgendes machen:
NSString *newString = [oldString stringByAppendingString:mad:"."];
 
  • Gefällt mir
Reaktionen: Schattentanz
Jo, läuft.
Auch mit oneOeights Vorschlag. :)
 
Zurück
Oben Unten