Anfängerfrage: If Bedingung mit else ...

  • Anfängerfrage: If Bedingung mit else ...

    Hallo Gemeinde,

    ich habe da noch eine Anfängerfrage und werde aus der Doku nicht schlau.

    Ich würde gerne im Code unten eine if-Abfrage einbauen, was mir nicht gelingt.

    Kann einer der vielen profis hier den Code mal richtig stellen, dann habe ich ein beispiel an dem ich die Doku vielleicht verstehen kann...

    Wenn ich die zuhauseButtonCell in ein Textfield ausgeben lasse, dann steht im textfeld 1 oder 0 - je nachdem ob Button an oder aus.
    Aber die if-Bedingung reagiert da nicht drauf. Wäre schön wenn mir jemand zeigen kann wie´s richtig wäre....

    Quellcode

    1. - (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    2. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    3. [zuhauseTextField setStringValue: [defaults objectForKey:@"zuhause"]];
    4. [unterwegsTextField setStringValue: [defaults objectForKey:@"unterwegs"]];
    5. [zuhauseButtonCell setStringValue: [defaults objectForKey:@"zuhauseCell"]];
    6. [unterwegsButtonCell setStringValue: [defaults objectForKey:@"unterwegsCell"]];
    7. if(zuhauseButtonCell == 0){
    8. [[Haussteuerung mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://blabla.dyndns.org:1111"]]];
    9. }
    10. if(zuhauseButtonCell == 1){
    11. [[Haussteuerung mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://blabla.dyndns.org:2222"]]];
    12. }
    13. }
    Alles anzeigen
  • @gritsch:

    eigentlich möchte ich den State auslesen und vergleichen.
    Wenn ich wie unten im Code

    [test1 setStringValue: [defaults objectForKey:@"zuhauseCell"]];

    die zuhauseCell in ein Textfeld (test1) schreiben lasse, dann steht da eine 1 oder eine 0. je nachdem ob der Button gedrückt ist oder nicht.

    Jetzt möchte ich daran die bedingung knüpfen, daß entweder die eine oder die andere HTTP-Seite geöffnet wird.

    Dazu bräuchte ich ein Beispiel, wie so eine if-Abfrage aussieht. Hab schon rumprobiert, in der Doku gelesen etc.
    Bekomm es aber nicht hin, obwohl die zuhauseCell ja offensichtlich immer eine 1 oder 0 in ein Textfeld schreiben kann.

    Oder soll ich besser das textfeld test1 dann prüfen lassen. Aber auch das bekomm ich nicht hin, weil ich nicht weiß wie so eine if-bedingung aussehen muss.

    Danke für die Ratschläge und die gestohlene zeit für einen blutigen Anfänger...
  • Hab aber noch eine Frage...

    wie übergebe ich dem loadRequest denn statt eines festen String den inhalt des textfeldes zuhauseTextField

    Quellcode

    1. [[Haussteuerung mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://blabla.dyndns.org:1111"]]];


    Möchte also den festen Wert blbla.dyndns.org:1111 durch den Inhalt des Textfeldes zuhausetextField ersetzen.

    So, dann ist Ruhe und ich hätte alles was ich für meine kleine private Anwendung brauche.


    Danke nochmal und Gruß
    Dirk
  • critical_limit schrieb:

    Möchte also den festen Wert blbla.dyndns.org:1111 durch den Inhalt des Textfeldes zuhausetextField ersetzen.


    Was Du dafür brauchst hast Du schon verwendet -> nachdenken …
    Xcode 4 sucks – „,Multiple exclamation marks‘, he went on, shaking his head, are a sure sign of a diseased mind.‘“ (Terry Pratchett 1992: Eric)

    "Wir ordnen und befehlen hiermit allen Ernstes, dass die Advocati wollene schwarze Mäntel, welche bis unter das Knie gehen, unserer Verordnung gemäß zu tragen haben, damit man die Spitzbuben schon von weitem erkennt." (Friedrich Wilhelm I., Soldatenkönig)
  • Darf ich hier nochmal anknüpfen, auch wenn´s ein wenig anderes Topic ist?

    Ich habe folgenden Code, in dem ein IBAction auf einer Matrix liegt (radiobuttons).
    Nun wird mir der Zustand nur abgespeichert, wenn ich wirklich draufklicke oder einen doppel-Tap mache.
    Wenn ich den button einfach mit dem touchpad einmal "tappe", spring der Button zwar um, aber es wird nicht gespeichert.
    Das liegt wohl am IBAction, oder? der kann wohl nur onClick?

    Wie frage ich nun aber ab, daß er auch reagiert, wenn ich nur den button switche, also nur einen Tap aufs touchpad mache?
    Dazu habe ich nichts gefunden und frage hier nochmal kleinlaut nach....

    Quellcode

    1. - (IBAction)Vorwahl:(NSMatrix *)sender {
    2. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    3. [defaults setObject: [zuhauseButtonCell stringValue] forKey:@"zuhauseCell"];
    4. [defaults setObject: [unterwegsButtonCell stringValue] forKey:@"unterwegsCell"];
    5. if ([zuhauseButtonCell state] == NSOffState){
    6. [[Haussteuerung mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: [unterwegsTextField stringValue]]]];
    7. }
    8. else{
    9. [[Haussteuerung mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: [zuhauseTextField stringValue]]]];
    10. }
    11. [defaults synchronize];
    12. NSLog(@"Data saved");
    13. }
    Alles anzeigen