Seltsames Programmverhalten

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

  • Seltsames Programmverhalten

    Guten Morgen liebe Gemeinde,
    mal wieder ich...mal wieder ein Problem.
    Diesmal ein Problem was ich überhaupt nicht nachvollziehen kann.
    Folgendes:
    Mein Programm funktioniert 2 sprachig(De/En).
    Wie ist der Ablauf?
    1. View Begrüssungsbildschirm mit Sprachwahl, Wahl der Sprache wird in Globaler Variable abgespeichert.
    2. View, hier ist eine Auswahl verschiedener Modi, auf welche Art und Weiße man sich eine Maschine aussuchen möchte (Programm für Maschinenbauer).
    Hier findet im viewDidLoad eine Prüfung auf die Sprachvariable statt, ist es Englisch, wird der Text auf den Buttons und Labels geändert.

    Quellcode

    1. [Gebr setTitle:@"Used machines" forState:UIControlStateNormal];

    Dies funktioniert alles einwandfrei, sowie alle anderen views problemlos laufen.
    Jedoch. Seit neustem gibt es einen Button für Gebrauchtmaschinen. Dieser öffnet einen view wie folgt:

    Quellcode

    1. UIStoryboard *myStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    2. UIViewController *Ausw = [myStoryboard instantiateViewControllerWithIdentifier:@"direkt"];
    3. self.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    4. [self presentViewController:Ausw animated:YES completion:nil];


    Ist der Button mit deutscher Schrift beschriftet, komme ich in den View, in englischer stürzt das Programm ab.
    Beim Debuggen geht er jeweils durch die gleichen Codezeilen, ich finde nichts auffälliges. Die Spracheinstellung ändert auch nur die Beschriftung von Buttons und Labels, nichts weltbewegendes.
    An anderer Stelle des Programm gibt es genau den gleichen Code, dort komme ich sogar in beiden Sprachen hinein. Oo
    Versteht jemand warum das einmal geht und einmal nicht?
    Irgend einen Denkanstoß vllt. noch?
    Danke

    Gruß

    Pete
    Intelligente Sätze zu verfassen ist gar nicht so einfach. Schon ein einziger Buchstabendreher kann den ganzen Text urinieren... :whistling:
  • Dapete schrieb:

    Ist der Button mit deutscher Schrift beschriftet, komme ich in den View, in englischer stürzt das Programm ab.

    Mit welcher Meldung stürzt das Programm ab?
    Was sagt der Stacktrace?

    Warum nutzt Du so eine zusammengeklöppelte Variante anstatt mit NSLocalizedString und den Geräteeinstellungen zu arbeiten?
    «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
  • Mit welcher Meldung stürzt das Programm ab?

    Ich glaube du meinst das?

    Quellcode

    1. libc++abi.dylib: terminating with uncaught exception of type NSException

    Was sagt der Stacktrace?

    Wo finde ich den Stacktrace?

    Warum nutzt Du so eine zusammengeklöppelte Variante anstatt mit NSLocalizedString und den Geräteeinstellungen zu arbeiten?

    Die Systemsprache der iPads kann ich nicht nutzen, da sie alle auf Deutsch eingestellt sind.
    Englisch ist mehr für Kunden die nur mal kurz drüber schauen wollen. (App wird inHouse benutzt)

    Verwendest Du ein Storyboard und Strings-Dateien (aka Base-Internationalization) oder für jede Sprache ein eigenes Storyboard?

    Nur ein einziges Storyboard.

    Hoffe ich hab nichts vergessen :)

    PS:

    Das habe ich gerade noch gefunden:

    Quellcode

    1. 2014-02-12 09:41:58.454 HAMMELAPP[412:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSCFConstantString stringByAppendingString:]: nil argument'


    PSS: habe das Problem gefunden, ich sollte mich mal mehr mit dem Debugger auseinander setzen :)
    Intelligente Sätze zu verfassen ist gar nicht so einfach. Schon ein einziger Buchstabendreher kann den ganzen Text urinieren... :whistling:
  • Dapete schrieb:

    Quellcode

    1. UIStoryboard *myStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    2. UIViewController *Ausw = [myStoryboard instantiateViewControllerWithIdentifier:@"direkt"];
    3. self.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    4. [self presentViewController:Ausw animated:YES completion:nil];

    Warum erzeugst du eine neue UIStoryboard Instanz? Du sagst ja selbst, dass Du nur ein Storyboard hast, also kannst Du die erste Zeile Du einfach so schreiben:

    Quellcode

    1. UIStoryboard *myStoryboard = self.storyboard;

    Michael
  • Dapete schrieb:


    Das habe ich gerade noch gefunden:

    Quellcode

    1. 2014-02-12 09:41:58.454 HAMMELAPP[412:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSCFConstantString stringByAppendingString:]: nil argument'

    PSS: habe das Problem gefunden, ich sollte mich mal mehr mit dem Debugger auseinander setzen :)

    Na dann hat das ja allen sehr viel gebracht. :)
    Wir konnten Dir helfen und Du hast uns gezeigt, dass Du selbst auch etwas herausfinden kannst.

    Solche User hätte ich gern öfter. ;)
    «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
  • Solche User hätte ich gern öfter. ;)


    Danke für die Blumen, ich geb mein bestes, bin leider erst seit gut 3 Monaten am Programmieren mit Objektiv C.
    Ausbildung zum Fachinformatiker in Anwendungsentwicklung hatte ich mit Uniface (4GL Sprache), das ist eine völlig andere Welt.
    Und das bisschen C#/C++ in der Berufsschule hat mir bei Objektiv C auch nicht sehr viel geholfen.
    Wie eingangs geschrieben schreibe ich eine App für einen Maschinenbauer, eine Art "Autoscout" für Zerkleinerungsmaschinen, läuft bis jetzt sogar recht gut.

    Danke Michael für den Tipp, werde ich so umsetzen.
    Intelligente Sätze zu verfassen ist gar nicht so einfach. Schon ein einziger Buchstabendreher kann den ganzen Text urinieren... :whistling: